diff --git a/portfolio/portfolio_test.py b/portfolio/portfolio_test.py index f06e5da..2cf3772 100644 --- a/portfolio/portfolio_test.py +++ b/portfolio/portfolio_test.py @@ -12,7 +12,7 @@ class TestPortfolio(unittest.TestCase): risk_per_trade = 0.02 ticker = {} self.port = Portfolio( - ticker, base=base, leverage=leverage, + ticker, base=base, leverage=leverage, equity=equity, risk_per_trade=risk_per_trade ) @@ -39,10 +39,11 @@ class TestPortfolio(unittest.TestCase): def test_add_position_units(self): side = "LONG" + market = "GBP/USD" units = 2000 exposure = float(units) - add_price = 1.51928 - remove_price = 1.51878 + add_price = 1.51819 + remove_price = 1.51770 # Test for no position market = "EUR/USD" @@ -52,16 +53,30 @@ class TestPortfolio(unittest.TestCase): ) self.assertFalse(apu) - # Test for real position + # Add a position market = "GBP/USD" + self.port.add_new_position( + side, market, units, exposure, + add_price, remove_price + ) + ps = self.port.positions[market] + + # Test for real position + add_price = 1.52876 + remove_price = 1.52821 + extra_units = 2000 + extra_exposure = float(extra_units) + exposure apu = self.port.add_position_units( - market, units, exposure, + market, extra_units, extra_exposure, add_price, remove_price ) self.assertTrue(apu) - ps = self.port.positions[market] - self.assertAlmostEqual(ps.avg_price, 1.518735) + # Check the position members are correct/sane + self.assertAlmostEqual(ps.avg_price, 1.523475) + self.assertAlmostEqual(ps.cur_price, 1.52821) + self.assertEqual(ps.units, units + extra_units) + self.assertEqual(ps.exposure, exposure + extra_exposure) if __name__ == "__main__":