Пример #1
0
        public void NumberBasicTest()
        {
            LookbackArray <float> numbers = new LookbackArray <float>(100);

            MovingSumOfNumbers mson = new MovingSumOfNumbers(3);

            ProbeReader <float, float> reader = mson.GetReader();

            INumberEvaluate evaluator = mson;

            numbers.Write(4);

            evaluator.Evaluate(numbers);

            Assert.AreEqual(0, reader.Count);

            numbers.Write(4);
            evaluator.Evaluate(numbers);

            Assert.AreEqual(0, reader.Count);

            numbers.Write(4);
            evaluator.Evaluate(numbers);

            Assert.AreEqual(1, reader.Count);

            Assert.AreEqual(12, reader.Current);
        }
Пример #2
0
        public void PriceBasicTest()
        {
            _priceBars      = new PriceBars(100);
            _priceBarReader = new PriceBarReader(_priceBars);

            TestFeedFactory testFeed = new TestFeedFactory();

            _maxwellFeed = testFeed.CreateMaxwellFeed(IntervalTypeOption.M1, DateTime.Now);

            _maxwellFeed.PushFeed += OnPushFeed;

            EMAOfPrices ema = new EMAOfPrices(3);

            ProbeReader <float, float> reader = ema.GetReader();

            IPriceEvaluate evaluator = ema;

            _maxwellFeed.PushNext(1);

            evaluator.Evaluate(_priceBarReader);

            Assert.AreEqual(0, reader.Count);

            _maxwellFeed.PushNext(1);

            evaluator.Evaluate(_priceBarReader);

            Assert.AreEqual(0, reader.Count);

            _maxwellFeed.PushNext(1);

            evaluator.Evaluate(_priceBarReader);

            Assert.AreEqual(0, reader.Count);

            _maxwellFeed.PushNext(1);

            evaluator.Evaluate(_priceBarReader);

            Assert.AreEqual(1, reader.Count);
            Assert.AreEqual(4, reader.Current);

            _maxwellFeed.PushNext(1);

            evaluator.Evaluate(_priceBarReader);

            Assert.AreEqual(2, reader.Count);
            Assert.AreEqual(4, reader.Current);
        }