public void GetLateIndexNumber_IfThereIsOnlySlaveExtremum_SlaveExtremumIndexIsReturned()
        {
            //Arrange
            DataSet       ds        = utf.getDataSet(51);
            Price         price     = utf.getPrice(ds);
            Quotation     quotation = new Quotation(ds);
            Extremum      slave     = new Extremum(price, ExtremumType.PeakByHigh);
            ExtremumGroup group     = new ExtremumGroup(null, slave);

            //Assert
            int lateIndexNumber = group.GetLateIndexNumber();

            //Act
            int expected = 51;

            Assert.AreEqual(expected, lateIndexNumber);
        }
        public void GetLateIndexNumber_IfThereIsOnlyMasterExtremum_MasterExtremumIndexIsReturned()
        {
            //Arrange
            DataSet       ds        = utf.getDataSet(50);
            Price         price     = utf.getPrice(ds);
            Quotation     quotation = new Quotation(ds);
            Extremum      master    = new Extremum(price, ExtremumType.PeakByClose);
            ExtremumGroup group     = new ExtremumGroup(master, null);

            //Assert
            int lateIndexNumber = group.GetLateIndexNumber();

            //Act
            int expected = 50;

            Assert.AreEqual(expected, lateIndexNumber);
        }
        public void GetLateIndexNumber_IfMasterExtremumIsEarlier_SlaveExtremumIndexIsReturned()
        {
            //Arrange
            Price price50 = utf.getPrice(50);
            Price price51 = utf.getPrice(51);

            Extremum      master = new Extremum(price50, ExtremumType.PeakByClose);
            Extremum      slave  = new Extremum(price51, ExtremumType.PeakByHigh);
            ExtremumGroup group  = new ExtremumGroup(master, slave);

            //Assert
            int lateIndexNumber = group.GetLateIndexNumber();

            //Act
            int expected = 51;

            Assert.AreEqual(expected, lateIndexNumber);
        }