Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def setUp(self):
self.prices = [[1, 1.02, 34.45], [0, 1.01, 12]]
self.available = Available(self.prices, 2)
def test_update_available_new_update(self):
# [price, size]
book_update = [[30, 6.9]]
current = [[27, 0.95], [13, 28.01], [1.02, 1157.21]]
expected = [[1.02, 1157.21], [13, 28.01], [27, 0.95], [30, 6.9]]
available = Available(current, 1)
available.update(book_update)
assert current == expected
book_update = [[30, 6.9], [1.01, 12]]
current = [[27, 0.95], [13, 28.01], [1.02, 1157.21]]
expected = [[1.01, 12], [1.02, 1157.21], [13, 28.01], [27, 0.95], [30, 6.9]]
available = Available(current, 1)
available.update(book_update)
assert current == expected
# [position, price, size]
book_update = [[0, 36, 0.57]]
current = []
expected = [[0, 36, 0.57]]
def test_update_available_new_remove(self):
book_update = [[27, 0]]
current = [[27, 0.95], [13, 28.01], [1.02, 1157.21]]
expected = [[1.02, 1157.21], [13, 28.01]]
available = Available(current, 1)
available.update(book_update)
assert current == expected
# [position, price, size]
book_update = [[0, 36, 0], [1, 38, 0], [0, 38, 3.57]]
current = [[0, 36, 10.57], [1, 38, 3.57]]
expected = [[0, 38, 3.57]]
available = Available(current, 2)
available.update(book_update)
assert current == expected
assert current == expected
book_update = [[30, 6.9], [1.01, 12]]
current = [[27, 0.95], [13, 28.01], [1.02, 1157.21]]
expected = [[1.01, 12], [1.02, 1157.21], [13, 28.01], [27, 0.95], [30, 6.9]]
available = Available(current, 1)
available.update(book_update)
assert current == expected
# [position, price, size]
book_update = [[0, 36, 0.57]]
current = []
expected = [[0, 36, 0.57]]
available = Available(current, 2)
available.update(book_update)
assert available.prices == expected
def __init__(self, id, ltp=None, tv=None, trd=None, atb=None, batb=None, bdatb=None, atl=None, batl=None,
bdatl=None, spn=None, spf=None, spb=None, spl=None, hc=0):
self.selection_id = id
self.last_price_traded = ltp
self.total_matched = tv
self.traded = Available(trd, 1)
self.available_to_back = Available(atb, 1, True)
self.best_available_to_back = Available(batb, 2)
self.best_display_available_to_back = Available(bdatb, 2)
self.available_to_lay = Available(atl, 1)
self.best_available_to_lay = Available(batl, 2)
self.best_display_available_to_lay = Available(bdatl, 2)
self.starting_price_back = Available(spb, 1)
self.starting_price_lay = Available(spl, 1)
self.starting_price_near = spn
self.starting_price_far = spf
self.handicap = hc
def __init__(self, id, fullImage=None, ml=None, mb=None, uo=None, hc=0, smc=None):
self.selection_id = id
self.full_image = fullImage
self.matched_lays = Available(ml, 1)
self.matched_backs = Available(mb, 1)
self.unmatched_orders = {i["id"]: UnmatchedOrder(**i) for i in uo} if uo else {}
self.handicap = hc
self.strategy_matches = smc
def __init__(self, id, fullImage=None, ml=None, mb=None, uo=None, hc=0, smc=None):
self.selection_id = id
self.full_image = fullImage
self.matched_lays = Available(ml, 1)
self.matched_backs = Available(mb, 1)
self.unmatched_orders = {i["id"]: UnmatchedOrder(**i) for i in uo} if uo else {}
self.handicap = hc
self.strategy_matches = smc
def __init__(self, id, ltp=None, tv=None, trd=None, atb=None, batb=None, bdatb=None, atl=None, batl=None,
bdatl=None, spn=None, spf=None, spb=None, spl=None, hc=0):
self.selection_id = id
self.last_price_traded = ltp
self.total_matched = tv
self.traded = Available(trd, 1)
self.available_to_back = Available(atb, 1, True)
self.best_available_to_back = Available(batb, 2)
self.best_display_available_to_back = Available(bdatb, 2)
self.available_to_lay = Available(atl, 1)
self.best_available_to_lay = Available(batl, 2)
self.best_display_available_to_lay = Available(bdatl, 2)
self.starting_price_back = Available(spb, 1)
self.starting_price_lay = Available(spl, 1)
self.starting_price_near = spn
self.starting_price_far = spf
self.handicap = hc
def __init__(self, id, ltp=None, tv=None, trd=None, atb=None, batb=None, bdatb=None, atl=None, batl=None,
bdatl=None, spn=None, spf=None, spb=None, spl=None, hc=0):
self.selection_id = id
self.last_price_traded = ltp
self.total_matched = tv
self.traded = Available(trd, 1)
self.available_to_back = Available(atb, 1, True)
self.best_available_to_back = Available(batb, 2)
self.best_display_available_to_back = Available(bdatb, 2)
self.available_to_lay = Available(atl, 1)
self.best_available_to_lay = Available(batl, 2)
self.best_display_available_to_lay = Available(bdatl, 2)
self.starting_price_back = Available(spb, 1)
self.starting_price_lay = Available(spl, 1)
self.starting_price_near = spn
self.starting_price_far = spf
self.handicap = hc
def __init__(self, id, ltp=None, tv=None, trd=None, atb=None, batb=None, bdatb=None, atl=None, batl=None,
bdatl=None, spn=None, spf=None, spb=None, spl=None, hc=0):
self.selection_id = id
self.last_price_traded = ltp
self.total_matched = tv
self.traded = Available(trd, 1)
self.available_to_back = Available(atb, 1, True)
self.best_available_to_back = Available(batb, 2)
self.best_display_available_to_back = Available(bdatb, 2)
self.available_to_lay = Available(atl, 1)
self.best_available_to_lay = Available(batl, 2)
self.best_display_available_to_lay = Available(bdatl, 2)
self.starting_price_back = Available(spb, 1)
self.starting_price_lay = Available(spl, 1)
self.starting_price_near = spn
self.starting_price_far = spf
self.handicap = hc