- def test_reopen_same_order(self):
- value_from = portfolio.Amount("BTC", "0.5")
- value_from.linked_to = portfolio.Amount("ETH", "10.0")
- value_to = portfolio.Amount("BTC", "1.0")
- trade = portfolio.Trade(value_from, value_to, "ETH", self.m)
- order = portfolio.Order("buy", portfolio.Amount("ETH", 10),
- D("0.1"), "BTC", "long", self.m, "trade")
- with mock.patch("portfolio.Order.run") as run:
- new_order = trade.reopen_same_order(order)
- self.assertEqual("buy", new_order.action)
- self.assertEqual(portfolio.Amount("ETH", 10), new_order.amount)
- self.assertEqual(D("0.1"), new_order.rate)
- self.assertEqual("BTC", new_order.base_currency)
- self.assertEqual("long", new_order.trade_type)
- self.assertEqual(self.m, new_order.market)
- self.assertEqual(False, new_order.close_if_possible)
- self.assertEqual(trade, new_order.trade)
- run.assert_called_once()
- self.assertEqual(1, len(trade.orders))
- self.assertEqual(new_order, trade.orders[0])
-