Exemplo n.º 1
0
        public void NewDataAvailableShouldFire()
        {
            var currentTime = new DateTime(2000, 01, 01);
            var available   = false;
            var enumerator  = new ScannableEnumerator <Tick>(
                new IdentityDataConsolidator <Tick>(),
                DateTimeZone.ForOffset(Offset.FromHours(-5)),
                new ManualTimeProvider(currentTime),
                (s, e) => { available = true; }
                );

            // returns true even if no data present until stop is called
            Assert.IsTrue(enumerator.MoveNext());
            Assert.IsNull(enumerator.Current);
            Assert.IsFalse(available);

            var tick1 = new Tick(currentTime, Symbols.SPY, 199.55m, 199, 200)
            {
                Quantity = 10
            };

            enumerator.Update(tick1);
            Assert.IsTrue(available);

            enumerator.Dispose();
        }
Exemplo n.º 2
0
        public void PassesTicksStraightThrough()
        {
            var currentTime = new DateTime(2000, 01, 01);
            var enumerator  = new ScannableEnumerator <Tick>(
                new IdentityDataConsolidator <Tick>(),
                DateTimeZone.ForOffset(Offset.FromHours(-5)),
                new ManualTimeProvider(currentTime),
                (s, e) => { }
                );

            // returns true even if no data present until stop is called
            Assert.IsTrue(enumerator.MoveNext());
            Assert.IsNull(enumerator.Current);

            var tick1 = new Tick(currentTime, Symbols.SPY, 199.55m, 199, 200)
            {
                Quantity = 10
            };

            enumerator.Update(tick1);
            Assert.IsTrue(enumerator.MoveNext());
            Assert.AreEqual(tick1, enumerator.Current);

            Assert.IsTrue(enumerator.MoveNext());
            Assert.IsNull(enumerator.Current);

            var tick2 = new Tick(currentTime, Symbols.SPY, 199.56m, 199.21m, 200.02m)
            {
                Quantity = 5
            };

            enumerator.Update(tick2);
            Assert.IsTrue(enumerator.MoveNext());
            Assert.AreEqual(tick2, enumerator.Current);

            enumerator.Dispose();
        }