233 lines
6.6 KiB
Python
233 lines
6.6 KiB
Python
# Add root folder to python paths
|
|
# This must be done on every test in order to pass in Travis
|
|
import os
|
|
import sys
|
|
from time import time
|
|
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
sys.path.append(os.path.realpath(os.path.join(script_dir, '..')))
|
|
|
|
#
|
|
# noinspection PyPackageRequirements
|
|
from _development.helpers import DBInMemory as DB, Gamedata, Saveddata
|
|
# noinspection PyPackageRequirements
|
|
from _development.helpers_fits import RifterFit, KeepstarFit, HeronFit, CurseFit
|
|
from service.fit import Fit
|
|
#
|
|
# # Fake import wx
|
|
# # todo: fix this
|
|
# # from types import ModuleType
|
|
# # wx = ModuleType("fake_module")
|
|
# # sys.modules[wx.__name__] = wx
|
|
#
|
|
# def test_getAllFits(DB, RifterFit, KeepstarFit):
|
|
# assert len(Fit.getAllFits()) == 0
|
|
# DB['db'].save(RifterFit)
|
|
# assert len(Fit.getAllFits()) == 1
|
|
# DB['db'].save(KeepstarFit)
|
|
# assert len(Fit.getAllFits()) == 2
|
|
#
|
|
# # Cleanup after ourselves
|
|
# DB['db'].remove(RifterFit)
|
|
# DB['db'].remove(KeepstarFit)
|
|
#
|
|
#
|
|
# def test_getFitsWithShip_RifterFit(DB, RifterFit):
|
|
# DB['db'].save(RifterFit)
|
|
#
|
|
# assert Fit.getFitsWithShip(587)[0][1] == 'My Rifter Fit'
|
|
#
|
|
# DB['db'].remove(RifterFit)
|
|
|
|
|
|
def test_RifterSingleNew(DB, RifterFit, KeepstarFit, HeronFit, CurseFit):
|
|
DB['db'].save(RifterFit)
|
|
DB['db'].save(KeepstarFit)
|
|
DB['db'].save(HeronFit)
|
|
DB['db'].save(CurseFit)
|
|
sFit = Fit.getInstance()
|
|
sFit.serviceFittingOptions = {
|
|
"useGlobalCharacter" : False,
|
|
"useGlobalDamagePattern": False,
|
|
"useGlobalForceReload" : False,
|
|
"colorFitBySlot" : False,
|
|
"rackSlots" : True,
|
|
"rackLabels" : True,
|
|
"compactSkills" : True,
|
|
"showTooltip" : True,
|
|
"showMarketShortcuts" : False,
|
|
"enableGaugeAnimation" : True,
|
|
"exportCharges" : True,
|
|
"openFitInNew" : False,
|
|
"priceSystem" : "Jita",
|
|
"showShipBrowserTooltip": True,
|
|
}
|
|
|
|
cached_fits = []
|
|
fit = DB["db"].getFit(1)
|
|
cached_fits.append(fit)
|
|
fit = None
|
|
|
|
time_start = time()
|
|
|
|
for _ in xrange(1000000):
|
|
|
|
fit = next((x for x in cached_fits if x.ID == 1), None)
|
|
|
|
fit = None
|
|
|
|
print("1000000 of the Rifter fit (new): " + str(time()-time_start))
|
|
|
|
# fit = DB["db"].getFit(1)
|
|
|
|
# Cleanup after ourselves
|
|
DB['db'].remove(RifterFit)
|
|
DB['db'].remove(KeepstarFit)
|
|
DB['db'].remove(HeronFit)
|
|
DB['db'].remove(CurseFit)
|
|
|
|
def test_RifterSingleOld(DB, RifterFit, KeepstarFit, HeronFit, CurseFit):
|
|
DB['db'].save(RifterFit)
|
|
DB['db'].save(KeepstarFit)
|
|
DB['db'].save(HeronFit)
|
|
DB['db'].save(CurseFit)
|
|
sFit = Fit.getInstance()
|
|
sFit.serviceFittingOptions = {
|
|
"useGlobalCharacter" : False,
|
|
"useGlobalDamagePattern": False,
|
|
"useGlobalForceReload" : False,
|
|
"colorFitBySlot" : False,
|
|
"rackSlots" : True,
|
|
"rackLabels" : True,
|
|
"compactSkills" : True,
|
|
"showTooltip" : True,
|
|
"showMarketShortcuts" : False,
|
|
"enableGaugeAnimation" : True,
|
|
"exportCharges" : True,
|
|
"openFitInNew" : False,
|
|
"priceSystem" : "Jita",
|
|
"showShipBrowserTooltip": True,
|
|
}
|
|
|
|
cached_fits = []
|
|
fit = DB["db"].getFit(1)
|
|
cached_fits.append(fit)
|
|
fit = None
|
|
|
|
time_start = time()
|
|
|
|
for _ in xrange(1000000):
|
|
|
|
fit = DB["db"].getFit(1)
|
|
|
|
fit = None
|
|
|
|
print("1000000 of the Rifter fit (old): " + str(time()-time_start))
|
|
|
|
# Cleanup after ourselves
|
|
DB['db'].remove(RifterFit)
|
|
DB['db'].remove(KeepstarFit)
|
|
DB['db'].remove(HeronFit)
|
|
DB['db'].remove(CurseFit)
|
|
|
|
def test_FourNew(DB, RifterFit, KeepstarFit, HeronFit, CurseFit):
|
|
DB['db'].save(RifterFit)
|
|
DB['db'].save(KeepstarFit)
|
|
DB['db'].save(HeronFit)
|
|
DB['db'].save(CurseFit)
|
|
sFit = Fit.getInstance()
|
|
sFit.serviceFittingOptions = {
|
|
"useGlobalCharacter" : False,
|
|
"useGlobalDamagePattern": False,
|
|
"useGlobalForceReload" : False,
|
|
"colorFitBySlot" : False,
|
|
"rackSlots" : True,
|
|
"rackLabels" : True,
|
|
"compactSkills" : True,
|
|
"showTooltip" : True,
|
|
"showMarketShortcuts" : False,
|
|
"enableGaugeAnimation" : True,
|
|
"exportCharges" : True,
|
|
"openFitInNew" : False,
|
|
"priceSystem" : "Jita",
|
|
"showShipBrowserTooltip": True,
|
|
}
|
|
|
|
cached_fits = []
|
|
fit = DB["db"].getFit(1)
|
|
cached_fits.append(fit)
|
|
fit = None
|
|
|
|
time_start = time()
|
|
|
|
for _ in xrange(250000):
|
|
|
|
fit = next((x for x in cached_fits if x.ID == 1), None)
|
|
fit = None
|
|
fit = next((x for x in cached_fits if x.ID == 2), None)
|
|
fit = None
|
|
fit = next((x for x in cached_fits if x.ID == 3), None)
|
|
fit = None
|
|
fit = next((x for x in cached_fits if x.ID == 4), None)
|
|
fit = None
|
|
|
|
|
|
print("1000000 of the four fits (new): " + str(time()-time_start))
|
|
|
|
# fit = DB["db"].getFit(1)
|
|
|
|
# Cleanup after ourselves
|
|
DB['db'].remove(RifterFit)
|
|
DB['db'].remove(KeepstarFit)
|
|
DB['db'].remove(HeronFit)
|
|
DB['db'].remove(CurseFit)
|
|
|
|
def test_FourOld(DB, RifterFit, KeepstarFit, HeronFit, CurseFit):
|
|
DB['db'].save(RifterFit)
|
|
DB['db'].save(KeepstarFit)
|
|
DB['db'].save(HeronFit)
|
|
DB['db'].save(CurseFit)
|
|
sFit = Fit.getInstance()
|
|
sFit.serviceFittingOptions = {
|
|
"useGlobalCharacter" : False,
|
|
"useGlobalDamagePattern": False,
|
|
"useGlobalForceReload" : False,
|
|
"colorFitBySlot" : False,
|
|
"rackSlots" : True,
|
|
"rackLabels" : True,
|
|
"compactSkills" : True,
|
|
"showTooltip" : True,
|
|
"showMarketShortcuts" : False,
|
|
"enableGaugeAnimation" : True,
|
|
"exportCharges" : True,
|
|
"openFitInNew" : False,
|
|
"priceSystem" : "Jita",
|
|
"showShipBrowserTooltip": True,
|
|
}
|
|
|
|
cached_fits = []
|
|
fit = DB["db"].getFit(1)
|
|
cached_fits.append(fit)
|
|
fit = None
|
|
|
|
time_start = time()
|
|
|
|
for _ in xrange(250000):
|
|
|
|
fit = DB["db"].getFit(1)
|
|
fit = None
|
|
fit = DB["db"].getFit(2)
|
|
fit = None
|
|
fit = DB["db"].getFit(3)
|
|
fit = None
|
|
fit = DB["db"].getFit(4)
|
|
fit = None
|
|
|
|
print("1000000 of the four fits (old): " + str(time()-time_start))
|
|
|
|
# Cleanup after ourselves
|
|
DB['db'].remove(RifterFit)
|
|
DB['db'].remove(KeepstarFit)
|
|
DB['db'].remove(HeronFit)
|
|
DB['db'].remove(CurseFit)
|
|
|