예제 #1
0
 def test_bad_order_side(self):
     bad_side = "not a nor b"
     err_regex = '\n'.join([
         f'^Tried to initialize Order instance with illegal order side arg: "{bad_side}"\.',
         'Only "b" or "a" allowed\.$'
         ])
     with self.assertRaisesRegex(ValueError, err_regex):
         Order(bad_side, 100, 5)
예제 #2
0
 def test_promo_vip(self):
     item = ItemToBuy('item', 1, 10)
     self.buyer = Buyer('Thiago', 110, False)
     order = Order(self.buyer, [item])
     self.assertEqual(order.due(), 5)
예제 #3
0
 def test_promo_itens(self):
     bananas = ItemToBuy('Banana', 2, 1)
     order = Order(self.buyer, [bananas] * 6)
     self.assertEqual(order.total(), 12)
     self.assertEqual(order.due(), 12 - (12 * 0.3))
예제 #4
0
 def test_promo_values(self):
     bananas = ItemToBuy('Banana', 5, 6)
     order = Order(self.buyer, [bananas])
     self.assertEqual(order.total(), 30)
     self.assertEqual(order.due(), 30 * 0.65)
예제 #5
0
 def test_due(self):
     order = Order(self.buyer, [self.bananas, self.grapes])
     self.assertEqual(order.due(), order.total() * 0.65)
예제 #6
0
 def test_total(self):
     order = Order(self.buyer, [self.bananas, self.grapes])
     self.assertEqual(order.total(), 34.5)
예제 #7
0
 def test_create(self):
     order = Order(self.buyer, [self.bananas, self.grapes])
     self.assertIsInstance(order, Order)
예제 #8
0
 def create_ask(price, size):
     return Order(Order.ASK, price, size)
예제 #9
0
 def create_bid(price, size):
     return Order(Order.BID, price, size)
예제 #10
0
 def test_order_size_setter(self):
     order = Order("a", 100, 5)
     order.size = -5
     self.assertIsNone(order.size)
     self.assertTrue(order.is_exhausted())