Esempio n. 1
0
        public void UpdatePrices_OnlyExtremaFlaggedAsUpdatedAreSendToRepository()
        {
            //Arrange
            QuotationUpdateTester quotationRepository = new QuotationUpdateTester();
            PriceUpdateTester     priceRepository     = new PriceUpdateTester();

            List <DataSet> dataSets = new List <DataSet>();
            DataSet        ds1      = utf.getDataSet(1);
            Quotation      q1       = utf.getQuotation(ds1);
            Price          p1       = utf.getPrice(ds1);

            DataSet   ds2 = utf.getDataSet(2);
            Quotation q2  = utf.getQuotation(ds2);
            Price     p2  = utf.getPrice(ds2);
            Extremum  ex2 = new Extremum(p2, ExtremumType.PeakByClose);

            DataSet   ds3 = utf.getDataSet(3);
            Quotation q3  = utf.getQuotation(ds3);
            Price     p3  = utf.getPrice(ds3);
            Extremum  ex3 = new Extremum(p3, ExtremumType.PeakByHigh);

            DataSet   ds4 = utf.getDataSet(4);
            Quotation q4  = utf.getQuotation(ds4);
            Price     p4  = utf.getPrice(ds4);

            dataSets.AddRange(new DataSet[] { ds1, ds2, ds3, ds4 });

            //Act
            p2.Updated  = true;
            p3.Updated  = true;
            ex3.Updated = true;
            p4.New      = true;


            IDataSetService service = new DataSetService();

            service.InjectQuotationRepository(quotationRepository);
            service.InjectPriceRepository(priceRepository);
            service.UpdateDataSets(dataSets);

            //Assert
            IEnumerable <ExtremumDto> extremumDtos         = priceRepository.GetExtremumDtosPassedForUpdate();
            List <ExtremumDto>        expectedExtremumDtos = new List <ExtremumDto>();

            expectedExtremumDtos.AddRange(new ExtremumDto[] { ex3.ToDto() });
            bool areEqual = expectedExtremumDtos.HasEqualItems(extremumDtos);

            Assert.IsTrue(areEqual);
        }
Esempio n. 2
0
        public void ToDto_ReturnsProperExtremumDtoObject()
        {
            //Arrange
            Price    price    = getPrice(DEFAULT_INDEX_NUMBER);
            Extremum extremum = new Extremum(price, ExtremumType.PeakByClose)
            {
                ExtremumId          = 1,
                SimulationId        = DEFAULT_SIMULATION_ID,
                LastCheckedDateTime = new DateTime(2017, 3, 5, 12, 0, 0),
                Volatility          = 1.23,
                EarlierCounter      = 15,
                EarlierAmplitude    = 7.45,
                EarlierChange1      = 1.12,
                EarlierChange2      = 2.21,
                EarlierChange3      = 3.12,
                EarlierChange5      = 4.56,
                EarlierChange10     = 5.28,
                LaterCounter        = 16,
                LaterAmplitude      = 1.23,
                LaterChange1        = 0.72,
                LaterChange2        = 0.54,
                LaterChange3        = 1.57,
                LaterChange5        = 2.41,
                LaterChange10       = 3.15,
                Open  = true,
                Value = 123.42
            };

            //Act
            ExtremumDto actualDto = extremum.ToDto();

            //Assert
            ExtremumDto expectedDto = new ExtremumDto()
            {
                Id                  = 1,
                SimulationId        = DEFAULT_SIMULATION_ID,
                Date                = DEFAULT_BASE_DATE,
                IndexNumber         = DEFAULT_INDEX_NUMBER,
                AssetId             = DEFAULT_ASSET_ID,
                TimeframeId         = DEFAULT_TIMEFRAME_ID,
                LastCheckedDateTime = new DateTime(2017, 3, 5, 12, 0, 0),
                ExtremumType        = 1,
                Volatility          = 1.23,
                EarlierCounter      = 15,
                EarlierAmplitude    = 7.45,
                EarlierChange1      = 1.12,
                EarlierChange2      = 2.21,
                EarlierChange3      = 3.12,
                EarlierChange5      = 4.56,
                EarlierChange10     = 5.28,
                LaterCounter        = 16,
                LaterAmplitude      = 1.23,
                LaterChange1        = 0.72,
                LaterChange2        = 0.54,
                LaterChange3        = 1.57,
                LaterChange5        = 2.41,
                LaterChange10       = 3.15,
                IsOpen              = true,
                Value               = 123.42
            };

            Assert.AreEqual(expectedDto, actualDto);
        }