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); }
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); }