public void RoundsTimeWhenCheckingMinimumTimeInUniverse_Hour() { var universe = new TestUniverse(_config, new UniverseSettings(Resolution.Daily, 1, false, false, TimeSpan.FromHours(6))); var addedTime = new DateTime(2018, 1, 1); universe.AddMember(addedTime, _security); Assert.IsFalse(universe.CanRemoveMember(addedTime.AddHours(5), _security)); Assert.IsFalse(universe.CanRemoveMember(addedTime.AddHours(5.1), _security)); Assert.IsTrue(universe.CanRemoveMember(addedTime.AddHours(5.5), _security)); Assert.IsTrue(universe.CanRemoveMember(addedTime.AddHours(6), _security)); }
public void WontRemoveBecauseOpenOrder_Add() { var orderProvider = new FakeOrderProcessor(); var pendingRemovals = new PendingRemovalsManager(orderProvider); var security = SecurityTests.GetSecurity(); var universe = new TestUniverse(); orderProvider.AddOrder(new LimitOrder(security.Symbol, 1, 1, DateTime.UtcNow)); Assert.IsNull(pendingRemovals.TryRemoveMember(security, universe)); Assert.AreEqual(1, pendingRemovals.PendingRemovals.Keys.Count()); Assert.AreEqual(1, pendingRemovals.PendingRemovals.Values.Count()); Assert.AreEqual(universe, pendingRemovals.PendingRemovals.Keys.First()); Assert.AreEqual(security, pendingRemovals.PendingRemovals.Values.First().First()); }
public void WontRemoveBecauseTarget_Add() { var orderProvider = new FakeOrderProcessor(); var pendingRemovals = new PendingRemovalsManager(orderProvider); var security = SecurityTests.GetSecurity(); var universe = new TestUniverse(); security.Holdings.Target = new PortfolioTarget(security.Symbol, 10); Assert.IsNull(pendingRemovals.TryRemoveMember(security, universe)); Assert.AreEqual(1, pendingRemovals.PendingRemovals.Keys.Count()); Assert.AreEqual(1, pendingRemovals.PendingRemovals.Values.Count()); Assert.AreEqual(universe, pendingRemovals.PendingRemovals.Keys.First()); Assert.AreEqual(security, pendingRemovals.PendingRemovals.Values.First().First()); }
public void WontRemoveBecauseHoldings_Add() { var orderProvider = new FakeOrderProcessor(); var pendingRemovals = new PendingRemovalsManager(orderProvider); var security = SecurityTests.GetSecurity(); var universe = new TestUniverse(); security.Holdings.SetHoldings(10, 10); Assert.IsFalse(pendingRemovals.TryRemoveMember(security, universe).Any()); Assert.AreEqual(1, pendingRemovals.PendingRemovals.Keys.Count()); Assert.AreEqual(1, pendingRemovals.PendingRemovals.Values.Count()); Assert.AreEqual(universe, pendingRemovals.PendingRemovals.Keys.First()); Assert.AreEqual(security, pendingRemovals.PendingRemovals.Values.First().First()); }
public void ReturnedRemoved_Add() { var orderProvider = new FakeOrderProcessor(); var pendingRemovals = new PendingRemovalsManager(orderProvider); var security = SecurityTests.GetSecurity(); var universe = new TestUniverse(); var result = pendingRemovals.TryRemoveMember(security, universe); Assert.IsTrue(result.Any()); Assert.AreEqual(universe, result.First().Universe); Assert.AreEqual(security, result.First().Security); Assert.IsFalse(pendingRemovals.CheckPendingRemovals(new HashSet <Symbol>(), universe).Any()); Assert.AreEqual(0, pendingRemovals.PendingRemovals.Keys.Count()); Assert.AreEqual(0, pendingRemovals.PendingRemovals.Values.Count()); }
public void WontBeReturnedBecauseReSelected() { var orderProvider = new FakeOrderProcessor(); var pendingRemovals = new PendingRemovalsManager(orderProvider); var security = SecurityTests.GetSecurity(); var universe = new TestUniverse(); orderProvider.AddOrder(new LimitOrder(security.Symbol, 1, 1, DateTime.UtcNow)); pendingRemovals.TryRemoveMember(security, universe); Assert.IsFalse(pendingRemovals.CheckPendingRemovals( new HashSet <Symbol> { security.Symbol }, universe).Any()); // internally it was removed because it was reselected Assert.AreEqual(0, pendingRemovals.PendingRemovals.Keys.Count()); Assert.AreEqual(0, pendingRemovals.PendingRemovals.Values.Count()); }
public void WontRemoveBecauseOfUnderlying() { var orderProvider = new FakeOrderProcessor(); var pendingRemovals = new PendingRemovalsManager(orderProvider); var equity = CreateSecurity(Symbols.SPY); var equityOption = CreateSecurity(Symbols.SPY_C_192_Feb19_2016); // we add an order of the equity option orderProvider.AddOrder(new LimitOrder(equityOption.Symbol, 1, 1, DateTime.UtcNow)); var universe = new TestUniverse(); universe.AddMember(DateTime.UtcNow, equity); universe.AddMember(DateTime.UtcNow, equityOption); // we try to remove the equity Assert.IsNull(pendingRemovals.TryRemoveMember(equity, universe)); Assert.AreEqual(1, pendingRemovals.PendingRemovals.Keys.Count()); Assert.AreEqual(1, pendingRemovals.PendingRemovals.Values.Count()); Assert.AreEqual(universe, pendingRemovals.PendingRemovals.Keys.First()); Assert.AreEqual(equity, pendingRemovals.PendingRemovals.Values.First().First()); }