]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - test.py
Add first steps for margin trading
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / test.py
diff --git a/test.py b/test.py
index daf5fe4bf8c3354229703a12b33ffc615db136c4..8a6ba50ea6d54c93786732d7510dc55ca9ada599 100644 (file)
--- a/test.py
+++ b/test.py
@@ -489,7 +489,21 @@ class TradeTest(unittest.TestCase):
 
     @unittest.skip("TODO")
     def test_values_assertion(self):
-        pass
+        value_from = Amount("BTC", "1.0")
+        value_from.linked_to = Amount("ETH", "10.0")
+        value_to = Amount("BTC", "1.0")
+        trade = portfolioTrade(value_from, value_to, "ETH")
+        self.assertEqual("BTC", trade.base_currency)
+        self.assertEqual("ETH", trade.currency)
+
+        with self.assertRaises(AssertionError):
+            portfolio.Trade(value_from, value_to, "ETC")
+        with self.assertRaises(AssertionError):
+            value_from.linked_to = None
+            portfolio.Trade(value_from, value_to, "ETH")
+        with self.assertRaises(AssertionError):
+            value_from.currency = "ETH"
+            portfolio.Trade(value_from, value_to, "ETH")
 
     @unittest.skip("TODO")
     def test_fetch_fees(self):
@@ -662,7 +676,7 @@ class AcceptanceTest(unittest.TestCase):
         self.assertEqual(D("0.00003003"), all_orders[1].rate)
 
 
-        def create_order(symbol, type, action, amount, price=None):
+        def create_order(symbol, type, action, amount, price=None, account="exchange"):
             self.assertEqual("limit", type)
             if symbol == "ETH/BTC":
                 self.assertEqual("sell", action)
@@ -757,7 +771,6 @@ class AcceptanceTest(unittest.TestCase):
         # Action 6
         portfolio.Trade.prepare_orders(only="buy", compute_value=lambda x, y: x["ask"])
 
-
         all_orders = portfolio.Trade.all_orders(state="pending")
         self.assertEqual(3, len(all_orders))
         self.assertEqual(portfolio.Amount("ETC", D("38.5")/3), all_orders[0].amount)