diff options
-rw-r--r-- | test_trade_queue.py | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/test_trade_queue.py b/test_trade_queue.py index e24e4e8..2fa3ee3 100644 --- a/test_trade_queue.py +++ b/test_trade_queue.py @@ -25,7 +25,7 @@ class TestFIFOQueue(unittest.TestCase): """ Test removing an exact amount from the queue. """ - trades = self.queue.remove(10.0) + trades = self.queue.remove_coins(10.0) self.assertEqual(len(trades), 1) # One trade should be returned self.assertEqual(trades[0].amount, 10.0) # Amount should match the request self.assertEqual(len(self.queue.queue), 2) # Two trades should remain in the queue @@ -34,7 +34,7 @@ class TestFIFOQueue(unittest.TestCase): """ Test removing an amount that partially consumes a trade. """ - trades = self.queue.remove(5.0) + trades = self.queue.remove_coins(5.0) self.assertEqual(len(trades), 1) # One partial trade should be returned self.assertEqual(trades[0].amount, 5.0) # Amount should match the request self.assertEqual(self.queue.queue[0].amount, 5.0) # Remaining trade amount should update @@ -43,7 +43,7 @@ class TestFIFOQueue(unittest.TestCase): """ Test removing an amount that spans multiple trades. """ - trades = self.queue.remove(25.0) + trades = self.queue.remove_coins(25.0) self.assertEqual(len(trades), 2) # Two trades should be returned self.assertEqual(trades[0].amount, 10.0) # The first trade should be fully consumed self.assertEqual(trades[1].amount, 15.0) # The second trade should be partially consumed @@ -54,14 +54,14 @@ class TestFIFOQueue(unittest.TestCase): Test trying to remove more than is available in the queue. """ with self.assertRaises(ValueError): - self.queue.remove(100.0) # This should raise an exception + self.queue.remove_coins(100.0) # This should raise an exception def test_remove_negative_amount(self): """ Test trying to remove a negative amount. """ with self.assertRaises(ValueError): - self.queue.remove(-5.0) # This should raise an exception + self.queue.remove_coins(-5.0) # This should raise an exception def test_get_remaining_amount_initial(self): """ @@ -73,7 +73,7 @@ class TestFIFOQueue(unittest.TestCase): """ Test the remaining amount after removing some assets. """ - self.queue.remove(15.0) # Remove 15 assets + self.queue.remove_coins(15.0) # Remove 15 assets self.assertEqual(self.queue.get_remaining_amount(), 45.0) # Remaining: 60 - 15 def test_get_remaining_amount_empty_queue(self): @@ -87,30 +87,30 @@ class TestFIFOQueue(unittest.TestCase): """ Test the remaining amount after partially consuming a trade. """ - self.queue.remove(5.0) # Remove 5 assets, leaving 5 in the first trade + self.queue.remove_coins(5.0) # Remove 5 assets, leaving 5 in the first trade self.assertEqual(self.queue.get_remaining_amount(), 55.0) # Remaining: 60 - 5 def test_get_remaining_amount_full_removal(self): """ Test the remaining amount after removing all trades. """ - self.queue.remove(60.0) # Remove all assets + self.queue.remove_coins(60.0) # Remove all assets self.assertEqual(self.queue.get_remaining_amount(), 0.0) # Remaining: 0 def test_remove_partial_trade_correct_cost(self): """ Test removing a partial trade and ensure the correct cost is calculated. """ - trades = self.queue.remove(5.0) # Remove 5 COIN from the first trade + trades = self.queue.remove_coins(4.0) # Remove 4 COIN from the first trade self.assertEqual(len(trades), 1) # Only one trade should be returned - self.assertAlmostEqual(trades[0].price_per_coin, 10, 1) # Coin-cost needs to stay constant - self.assertEqual(trades[0].amount, 5.0) # Check the removed amount - self.assertEqual(trades[0].total_cost, 50.0) # Total cost should be proportional: (100 * 5 / 10) + self.assertEqual(trades[0].price_per_coin, 10) # Coin-cost needs to stay constant + self.assertEqual(trades[0].amount, 4.0) # Check the removed amount + self.assertEqual(trades[0].total_cost, 40.0) # Total cost should be proportional: (100 * 5 / 10) - self.assertAlmostEqual(self.queue.queue[0].price_per_coin, 10, 1) # Original total cost remains unchanged - self.assertEqual(self.queue.queue[0].amount, 5.0) # Remaining amount in the first trade should be updated - self.assertEqual(self.queue.queue[0].total_cost, 50.0) # Original total cost remains unchanged + self.assertEqual(self.queue.queue[0].price_per_coin, 10) # Original total cost remains unchanged + self.assertEqual(self.queue.queue[0].amount, 6.0) # Remaining amount in the first trade should be updated + self.assertEqual(self.queue.queue[0].total_cost, 60.0) # Original total cost remains unchanged if __name__ == "__main__": unittest.main() |