public void TestApproachingFromBelow()
        {
            ZeroCrossingDetector detector = new ZeroCrossingDetector(ZeroCrossingDirection.Down);
            TestCase             theCase  = ApproachingFromBelowNonCrossingCase;

            Assert.IsFalse(detector.TestSeries(theCase.series));
        }
        public void TestCrossingDownWithZeroes()
        {
            ZeroCrossingDetector detector = new ZeroCrossingDetector(ZeroCrossingDirection.Down);
            TestCase             theCase  = CrossingDownWithZeroCase;

            Assert.IsTrue(detector.TestSeries(theCase.series));
            log.Info(detector.GetLastZeroCrossingPoint());
            Assert.IsTrue(EqualWithEpsilon(theCase.zero_crossing_point, detector.GetLastZeroCrossingPoint(), tolerance));
        }
        public void TestImmediateCrossingUp2()
        {
            ZeroCrossingDetector detector = new ZeroCrossingDetector(ZeroCrossingDirection.Up);
            TestCase             theCase  = CrossingUpWithNoZeroCase2;

            Assert.IsTrue(detector.TestSeries(theCase.series));
            log.Info(detector.GetLastZeroCrossingPoint());
            Assert.IsTrue(EqualWithEpsilon(theCase.zero_crossing_point, detector.GetLastZeroCrossingPoint(), tolerance));
        }