def test_add_insufficient_funds(self): actual_book = Book(self.sample_name, self.sample_participants) test_order = Order(1, self.sample_participants[0], self.sample_name, "BID", 1000.00, 800) with self.assertRaises(InsufficientFundsError): actual_book.add(test_order)
def test_add_cross(self): actual_book = Book(self.sample_name, self.sample_participants) test_orders = [Order(1, self.sample_participants[0], self.sample_name, "BID", 22.00, 3), Order(2, self.sample_participants[1], self.sample_name, "ASK", 20.00, 3)] # add order to book for order in test_orders: actual_book.add(order) # expected Side objects expected_bids = Side("BID") expected_asks = Side("ASK") self.assertFalse(actual_book.crossed()) self.assertEqual(actual_book.LTP, test_orders[0].price) self.assertEqual(actual_book.bids, expected_bids) self.assertEqual(actual_book.asks, expected_asks)
def test_add_no_cross(self): actual_book = Book(self.sample_name, self.sample_participants) test_orders = [Order(1, self.sample_participants[0], self.sample_name, "BID", 22.00, 3), Order(2, self.sample_participants[1], self.sample_name, "ASK", 100.00, 2)] # add order to book for order in test_orders: actual_book.add(order) expected_bids = Side("BID") expected_bids.put(test_orders[0]) expected_asks = Side("ASK") expected_asks.put(test_orders[1]) self.assertFalse(actual_book.crossed()) self.assertEqual(actual_book.LTP, 0) self.assertEqual(actual_book.bids, expected_bids) self.assertEqual(actual_book.asks, expected_asks)
def test_add_normal(self): actual_book = Book(self.sample_name, self.sample_participants) test_order = Order(1, self.sample_participants[0], self.sample_name, "BID", 12.00, 150) actual_book.add(test_order) expected_bids = Side("BID") expected_bids.put(test_order) expected_asks = Side("ASK") self.assertEqual(actual_book.bids, expected_bids) self.assertEqual(actual_book.asks, expected_asks) self.assertEqual(actual_book.LTP, 0)
def test___eq___not_equal(self): order_a = Order(1, self.blank_participant, "WOW", "BID", 1.23, 100) order_b = Order(2, self.blank_participant, "MSFT", "ASK", 5.44, 20) self.assertNotEqual(order_a, order_b)
def test___eq___equal(self): order_a = Order(1, self.blank_participant, "WOW", "BID", 0.04, 250) order_b = Order(1, self.blank_participant, "WOW", "BID", 0.04, 250) self.assertEqual(order_a, order_b)
def test___init___negative_quantity(self): with self.assertRaises(ValueError): actual_order = Order(0, self.blank_participant, "", "", 0.01, -1)
def test___init___negative_price(self): with self.assertRaises(ValueError): actual_order = Order(0, self.blank_participant, "", "", -1.00, 1)
def test___init___normal(self): actual_order = Order(0, self.blank_participant, "", "", 0.01, 1) expected_order = Order(0, self.blank_participant, "", "", 0.01, 1) self.assertEqual(actual_order, expected_order)