public void SetLeverageTest()
        {
            var model = new PatternDayTradingMarginBuyingPowerModel();

            // Open market
            var security = CreateSecurity(Noon);

            security.BuyingPowerModel = new PatternDayTradingMarginBuyingPowerModel();

            model.SetLeverage(security, 10m);
            Assert.AreNotEqual(10m, model.GetLeverage(security));

            // Closed market
            security = CreateSecurity(Midnight);

            model.SetLeverage(security, 10m);
            Assert.AreNotEqual(10m, model.GetLeverage(security));

            security.Holdings.SetHoldings(100m, 100);
        }
        public void InitializationTests()
        {
            // No parameters initialization, used default PDT 4x leverage open market and 2x leverage otherwise
            var model    = new PatternDayTradingMarginBuyingPowerModel();
            var leverage = model.GetLeverage(CreateSecurity(Noon));

            Assert.AreEqual(4.0m, leverage);

            model    = new PatternDayTradingMarginBuyingPowerModel(2.0m, 5.0m);
            leverage = model.GetLeverage(CreateSecurity(Noon));

            Assert.AreEqual(5.0m, leverage);
        }