searching for a way to open db with minimal changes required
This commit is contained in:
232
tests/test_fitcache.py
Normal file
232
tests/test_fitcache.py
Normal file
@@ -0,0 +1,232 @@
|
||||
# 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)
|
||||
|
||||
Reference in New Issue
Block a user