public void RemoveTrendlines_SignalIsSentToRepositoryToRemoveAllItems() { //Arrange IEnumerable <TrendlineDto> trendlineDtos = null; Trendline trendline1 = getDefaultTrendline(); Trendline trendline2 = getDefaultTrendline(); trendline2.Id = 2; Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); mockedRepository. Setup(r => r.RemoveTrendlines(It.IsAny <IEnumerable <TrendlineDto> >())). Callback <IEnumerable <TrendlineDto> >((col) => trendlineDtos = col).Verifiable(); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); service.RemoveTrendlines(new Trendline [] { trendline1, trendline2 }); //Assert IEnumerable <TrendlineDto> expectedTrendlineDtos = new TrendlineDto[] { trendline1.ToDto(), trendline2.ToDto() }; mockedRepository.Verify(r => r.RemoveTrendlines(It.IsAny <IEnumerable <TrendlineDto> >()), Times.Exactly(1)); Assert.IsTrue(trendlineDtos.HasEqualItems(expectedTrendlineDtos)); }
public void CopyProperties_AfterwardAllPropertiesAreEqual() { //Arrange var baseItem = getDefaultTrendlineDto(); var comparedItem = new TrendlineDto() { Id = 1, AssetId = 1, TimeframeId = 1, SimulationId = 1, StartIndex = 5, StartLevel = 2.2345, EndIndex = 20, FootholdLevel = 2.2532, Value = 2.234, LastUpdateIndex = 25 }; //Act comparedItem.CopyProperties(baseItem); var areEqual = baseItem.Equals(comparedItem); //Assert Assert.IsTrue(areEqual); }
public void GetTrendlines_returnProperDtoCollection() { //Arrange EFTrendlineRepository repository = new EFTrendlineRepository(); List <TrendlineDto> trendlines = new List <TrendlineDto>(); TrendlineDto dto1 = new TrendlineDto() { Id = 1, AssetId = 1, TimeframeId = 1, SimulationId = 1, StartIndex = 5, StartLevel = 1.2573, FootholdIndex = 27, FootholdLevel = 1.2871, Value = 1.54, LastUpdateIndex = 70 }; TrendlineDto dto2 = new TrendlineDto() { Id = 1, AssetId = 1, TimeframeId = 2, SimulationId = 1, StartIndex = 7, StartLevel = 1.0123, FootholdIndex = 52, FootholdLevel = 1.4865, Value = 1.54, LastUpdateIndex = 70 }; TrendlineDto dto3 = new TrendlineDto() { Id = 1, AssetId = 2, TimeframeId = 1, SimulationId = 1, StartIndex = 7, StartLevel = 1.1234, FootholdIndex = 60, FootholdLevel = 1.4564, Value = 1.54, LastUpdateIndex = 70 }; TrendlineDto dto4 = new TrendlineDto() { Id = 1, AssetId = 1, TimeframeId = 1, SimulationId = 1, StartIndex = 25, StartLevel = 1.3456, FootholdIndex = 48, FootholdLevel = 1.4564, Value = 1.54, LastUpdateIndex = 70 }; trendlines.AddRange(new TrendlineDto[] { dto1, dto2, dto3, dto4 }); clearTrendlinesTables(); repository.UpdateTrendlines(trendlines); //Act IEnumerable <TrendlineDto> dtos = repository.GetTrendlines(1, 1, 1).ToArray(); //Assert IEnumerable <TrendlineDto> expected = new TrendlineDto[] { dto1, dto4 }; bool areEqualArrays = expected.HasEqualItems(dtos); Assert.IsTrue(areEqualArrays); }
public void UpdateTrendlines_WorksProperly_IfItemsAreOnlyAdded() { //Arrange EFTrendlineRepository repository = new EFTrendlineRepository(); List <TrendlineDto> trendlines = new List <TrendlineDto>(); TrendlineDto dto1 = new TrendlineDto() { Id = 1, AssetId = 1, TimeframeId = 1, SimulationId = 1, StartIndex = 5, StartLevel = 1.2345, FootholdIndex = 26, FootholdLevel = 1.3456, Value = 1.234, LastUpdateIndex = 31 }; TrendlineDto dto2 = new TrendlineDto() { Id = 2, AssetId = 1, TimeframeId = 1, SimulationId = 1, StartIndex = 6, StartLevel = 1.4567, FootholdIndex = 23, FootholdLevel = 1.5678, Value = 1.345, LastUpdateIndex = 29 }; TrendlineDto dto3 = new TrendlineDto() { Id = 3, AssetId = 1, TimeframeId = 1, SimulationId = 2, StartIndex = 12, StartLevel = 1.5678, FootholdIndex = 45, FootholdLevel = 1.6789, Value = 1.567, LastUpdateIndex = 47 }; TrendlineDto dto4 = new TrendlineDto() { Id = 4, AssetId = 1, TimeframeId = 1, SimulationId = 2, StartIndex = 8, StartLevel = 1.6789, FootholdIndex = 21, FootholdLevel = 1.7891, Value = 1.678, LastUpdateIndex = 29 }; trendlines.AddRange(new TrendlineDto[] { dto1, dto2, dto3, dto4 }); //Act clearTrendlinesTables(); repository.UpdateTrendlines(trendlines); IEnumerable <TrendlineDto> actualRecords = repository.GetTrendlines(1, 1, 1); //Assert Assert.IsTrue(repository.GetTrendlines(1, 1, 1).HasEqualItems(new TrendlineDto[] { dto1, dto2 })); Assert.IsTrue(repository.GetTrendlines(1, 1, 2).HasEqualItems(new TrendlineDto[] { dto3, dto4 })); }
public static Trendline FromDto(TrendlineDto dto) { var trendline = new Trendline { Id = dto.TrendlineId, AssetId = dto.AssetId, TimeframeId = dto.TimeframeId, Slope = dto.Angle, ShowOnChart = dto.ShowOnChart, Value = dto.Value, BaseExtremumGroupId = dto.BaseExtremumGroupId, BaseDateIndex = dto.BaseDateIndex, BaseLevel = dto.BaseLevel, CounterExtremumGroupId = dto.CounterExtremumGroupId, CounterDateIndex = dto.CounterDateIndex, CounterLevel = dto.CounterLevel, StartIndex = dto.StartDateIndex, EndIndex = dto.EndDateIndex, IsOpenFromLeft = dto.IsOpenFromLeft, IsOpenFromRight = dto.IsOpenFromRight, TrendRanges = new List <TrendRange>() }; return(trendline); }
public void RemoveTrendline_ThisItemIsRemovedFromCache() { //Arrange IEnumerable <TrendlineDto> trendlineDtos = null; TrendlineDto trendlineDto = getDefaultTrendlineDto(); Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); mockedRepository.Setup(r => r.GetTrendlineById(1)).Returns(trendlineDto); mockedRepository. Setup(r => r.RemoveTrendlines(It.IsAny <IEnumerable <TrendlineDto> >())). Callback <IEnumerable <TrendlineDto> >((col) => trendlineDtos = col).Verifiable(); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); Trendline trendline = service.GetTrendlineById(1); TrendlineDto nullTrendline = null; service.RemoveTrendline(trendline); mockedRepository.Setup(r => r.GetTrendlineById(1)).Returns(nullTrendline); //Assert Trendline actualTrendline = service.GetTrendlineById(1); Assert.IsNull(actualTrendline); }
public void GetTrendlineById_ReturnsNull_IfThereIsNoTrendlineWithSuchId() { //Arrange EFTrendlineRepository repository = new EFTrendlineRepository(); List <TrendlineDto> trendlines = new List <TrendlineDto>(); trendlines.AddRange(new TrendlineDto[] { getDefaultTrendlineDto() }); clearTrendlinesTables(); repository.UpdateTrendlines(trendlines); //Act TrendlineDto resultDto = repository.GetTrendlineById(2); //Assert Assert.IsNull(resultDto); }
public void GetTrendlineById_ReturnsNull_IfThereIsNoItemWithGivenCombination() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); TrendlineDto returnedDto = null; mockedRepository.Setup(r => r.GetTrendlineById(1)).Returns(returnedDto); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); //Assert Trendline baseTrendline = service.GetTrendlineById(1); Assert.IsNull(baseTrendline); }
public void GetTrendlineById_ReturnsProperTrendlineDto_IfExists() { //Arrange EFTrendlineRepository repository = new EFTrendlineRepository(); List <TrendlineDto> trendlines = new List <TrendlineDto>(); TrendlineDto expectedDto = getDefaultTrendlineDto(); trendlines.AddRange(new TrendlineDto[] { expectedDto }); clearTrendlinesTables(); repository.UpdateTrendlines(trendlines); //Act TrendlineDto dto = repository.GetTrendlineById(expectedDto.Id); //Assert var areEqual = expectedDto.Equals(dto); Assert.IsTrue(areEqual); }
public void RemoveTrendlines_IfNotExistingTrendlineIsPassed_NothingHappens() { //Arrange EFTrendlineRepository repository = new EFTrendlineRepository(); List <TrendlineDto> trendlines = new List <TrendlineDto>(); TrendlineDto dto1 = new TrendlineDto() { Id = 1, AssetId = 1, TimeframeId = 1, SimulationId = 1, StartIndex = 5, StartLevel = 1.2345, FootholdIndex = 26, FootholdLevel = 1.3456, Value = 1.234, LastUpdateIndex = 31 }; TrendlineDto dto2 = new TrendlineDto() { Id = 2, AssetId = 1, TimeframeId = 1, SimulationId = 1, StartIndex = 6, StartLevel = 1.4567, FootholdIndex = 23, FootholdLevel = 1.5678, Value = 1.345, LastUpdateIndex = 29 }; TrendlineDto dto3 = new TrendlineDto() { Id = 3, AssetId = 1, TimeframeId = 1, SimulationId = 1, StartIndex = 12, StartLevel = 1.5678, FootholdIndex = 45, FootholdLevel = 1.6789, Value = 1.567, LastUpdateIndex = 47 }; TrendlineDto dto4 = new TrendlineDto() { Id = 4, AssetId = 1, TimeframeId = 1, SimulationId = 1, StartIndex = 8, StartLevel = 1.6789, FootholdIndex = 21, FootholdLevel = 1.7891, Value = 1.678, LastUpdateIndex = 29 }; trendlines.AddRange(new TrendlineDto[] { dto1, dto2, dto3 }); clearTrendlinesTables(); repository.UpdateTrendlines(trendlines); IEnumerable <TrendlineDto> actualRecords = repository.GetTrendlines(1, 1, 1); if (actualRecords.Count() != 3) { throw new Exception("Test failed while preparing environment"); } //Act repository.RemoveTrendlines(new TrendlineDto[] { dto4 }); //Assert IEnumerable <TrendlineDto> recordsAfterRemoving = repository.GetTrendlines(1, 1, 1); IEnumerable <TrendlineDto> expectedRecords = new TrendlineDto[] { dto1, dto2, dto3 }; Assert.IsTrue(recordsAfterRemoving.HasEqualItems(expectedRecords)); }
public void GetTrendlineById_ReturnsProperItem_IfItemExists() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); TrendlineDto trendlineDto = new TrendlineDto() { Id = 1, AssetId = DEFAULT_ASSET_ID, TimeframeId = DEFAULT_TIMEFRAME_ID, SimulationId = DEFAULT_SIMULATION_ID, StartIndex = 50, StartLevel = 1.1234, FootholdLevel = 1.1412, FootholdIndex = 72, LastUpdateIndex = 77, Value = 1.23 }; mockedRepository.Setup(r => r.GetTrendlineById(1)).Returns(trendlineDto); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); var actualTrendline = service.GetTrendlineById(1); //Assert Trendline expectedTrendline = new Trendline(trendlineDto); bool areEqual = expectedTrendline.Equals(actualTrendline); Assert.IsTrue(areEqual); }
public void UpdateTrendlines_AllItemsPassedToMethodArePassedToRepository() { //Arrange IEnumerable <TrendlineDto> trendlineDtos = null; Trendline trendline = getDefaultTrendline(); Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); mockedRepository. Setup(r => r.UpdateTrendlines(It.IsAny <IEnumerable <TrendlineDto> >())). Callback <IEnumerable <TrendlineDto> >((col) => trendlineDtos = col).Verifiable(); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); service.UpdateTrendline(trendline); //Assert IEnumerable <TrendlineDto> expectedTrendlineDtos = new TrendlineDto[] { trendline.ToDto() }; mockedRepository.Verify(r => r.UpdateTrendlines(It.IsAny <IEnumerable <TrendlineDto> >()), Times.Exactly(1)); Assert.IsTrue(trendlineDtos.HasEqualItems(expectedTrendlineDtos)); }
public void UpdateTrendlines_WorksProperly_IfItemsAreAddedAndUpdated() { //Arrange AnalysisDataQueryDefinition queryDef = new AnalysisDataQueryDefinition(1, 1); EFTrendlineRepository repository = new EFTrendlineRepository(); List <TrendlineDto> trendlines = new List <TrendlineDto>(); TrendlineDto dto1 = new TrendlineDto() { Id = 1, AssetId = 1, TimeframeId = 1, SimulationId = 1, StartIndex = 5, StartLevel = 1.2345, FootholdIndex = 26, FootholdLevel = 1.3456, Value = 1.234, LastUpdateIndex = 31 }; TrendlineDto dto2 = new TrendlineDto() { Id = 2, AssetId = 1, TimeframeId = 1, SimulationId = 1, StartIndex = 6, StartLevel = 1.4567, FootholdIndex = 23, FootholdLevel = 1.5678, Value = 1.345, LastUpdateIndex = 29 }; TrendlineDto dto3 = new TrendlineDto() { Id = 3, AssetId = 1, TimeframeId = 1, SimulationId = 2, StartIndex = 12, StartLevel = 1.5678, FootholdIndex = 45, FootholdLevel = 1.6789, Value = 1.567, LastUpdateIndex = 47 }; TrendlineDto dto4 = new TrendlineDto() { Id = 4, AssetId = 1, TimeframeId = 1, SimulationId = 2, StartIndex = 8, StartLevel = 1.6789, FootholdIndex = 21, FootholdLevel = 1.7891, Value = 1.678, LastUpdateIndex = 29 }; trendlines.AddRange(new TrendlineDto[] { dto1, dto2 }); clearTrendlinesTables(); repository.UpdateTrendlines(trendlines); //Act dto1.Value = 2.345; dto2.LastUpdateIndex += 2; dto2.Value += 0.250; dto2.LastUpdateIndex = 32; repository.UpdateTrendlines(new TrendlineDto[] { dto1, dto2, dto3, dto4 }); //Assert Assert.IsTrue(repository.GetTrendlines(1, 1, 1).HasEqualItems(new TrendlineDto[] { dto1, dto2 })); Assert.IsTrue(repository.GetTrendlines(1, 1, 2).HasEqualItems(new TrendlineDto[] { dto3, dto4 })); }
public void Constructor_fromDto_hasCorrectProperties() { //Act. var trendlineDto = new TrendlineDto() { Id = UTDefaulter.DEFAULT_ID, AssetId = UTDefaulter.DEFAULT_ASSET_ID, TimeframeId = UTDefaulter.DEFAULT_TIMEFRAME_ID, SimulationId = UTDefaulter.DEFAULT_SIMULATION_ID, StartIndex = UTDefaulter.DEFAULT_START_INDEX, StartLevel = UTDefaulter.DEFAULT_START_LEVEL, FootholdIndex = UTDefaulter.DEFAULT_FOOTHOLD_INDEX, FootholdLevel = UTDefaulter.DEFAULT_FOOTHOLD_LEVEL, FootholdSlaveIndex = UTDefaulter.DEFAULT_FOOTHOLD_SLAVE_INDEX, FootholdIsPeak = UTDefaulter.DEFAULT_FOOTHOLD_IS_PEAK, EndIndex = null, Value = UTDefaulter.DEFAULT_VALUE, LastUpdateIndex = UTDefaulter.DEFAULT_LAST_UPDATE_INDEX }; var trendline = new Trendline(trendlineDto); //Assert. Assert.AreEqual(UTDefaulter.DEFAULT_ID, trendline.Id); Assert.AreEqual(UTDefaulter.DEFAULT_ASSET_ID, trendline.AssetId); Assert.AreEqual(UTDefaulter.DEFAULT_TIMEFRAME_ID, trendline.TimeframeId); Assert.AreEqual(UTDefaulter.DEFAULT_SIMULATION_ID, trendline.SimulationId); Assert.AreEqual(UTDefaulter.DEFAULT_START_INDEX, trendline.StartIndex); Assert.AreEqual(UTDefaulter.DEFAULT_START_LEVEL, trendline.StartLevel); Assert.AreEqual(UTDefaulter.DEFAULT_FOOTHOLD_INDEX, trendline.FootholdIndex); Assert.AreEqual(UTDefaulter.DEFAULT_FOOTHOLD_LEVEL, trendline.FootholdLevel); Assert.AreEqual(UTDefaulter.DEFAULT_FOOTHOLD_SLAVE_INDEX, trendlineDto.FootholdSlaveIndex); Assert.AreEqual(UTDefaulter.DEFAULT_FOOTHOLD_IS_PEAK, trendlineDto.FootholdIsPeak); Assert.AreEqual(UTDefaulter.DEFAULT_VALUE, trendline.Value); Assert.IsNull(trendline.EndIndex); Assert.AreEqual(UTDefaulter.DEFAULT_LAST_UPDATE_INDEX, trendline.LastUpdateIndex); }
public void GetTrendlines_ReturnsProperCollectionOfTrendlines() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); List <TrendlineDto> dtos = new List <TrendlineDto>(); TrendlineDto trendlineDto1 = new TrendlineDto() { Id = 1, AssetId = DEFAULT_ASSET_ID, TimeframeId = DEFAULT_TIMEFRAME_ID, SimulationId = DEFAULT_SIMULATION_ID, StartIndex = 50, StartLevel = 1.1234, FootholdLevel = 1.1412, FootholdIndex = 72, LastUpdateIndex = 77, Value = 1.23 }; TrendlineDto trendlineDto2 = new TrendlineDto() { Id = 2, AssetId = DEFAULT_ASSET_ID, TimeframeId = DEFAULT_TIMEFRAME_ID, SimulationId = DEFAULT_SIMULATION_ID, StartIndex = 64, StartLevel = 1.1276, FootholdLevel = 1.1412, FootholdIndex = 72, LastUpdateIndex = 77, Value = 1.49 }; TrendlineDto trendlineDto3 = new TrendlineDto() { Id = 3, AssetId = DEFAULT_ASSET_ID, TimeframeId = DEFAULT_TIMEFRAME_ID, SimulationId = DEFAULT_SIMULATION_ID, StartIndex = 81, StartLevel = 1.1315, FootholdLevel = 1.1412, FootholdIndex = 72, LastUpdateIndex = 77, Value = 2.16 }; dtos.AddRange(new TrendlineDto[] { trendlineDto1, trendlineDto2, trendlineDto3 }); mockedRepository.Setup(r => r.GetTrendlines(DEFAULT_ASSET_ID, DEFAULT_TIMEFRAME_ID, DEFAULT_SIMULATION_ID)).Returns(dtos); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); var actualSimultations = service.GetTrendlines(DEFAULT_ASSET_ID, DEFAULT_TIMEFRAME_ID, DEFAULT_SIMULATION_ID); //Assert List <Trendline> expectedTrendlines = new List <Trendline>(); Trendline trendline1 = new Trendline(trendlineDto1); Trendline trendline2 = new Trendline(trendlineDto2); Trendline trendline3 = new Trendline(trendlineDto3);; expectedTrendlines.AddRange(new Trendline[] { trendline1, trendline2, trendline3 }); bool areEqual = expectedTrendlines.HasEqualItems(actualSimultations); Assert.IsTrue(areEqual); }
public void GetTrendlineById_ReturnsAlwaysTheSameInstance() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); List <TrendlineDto> dtos = new List <TrendlineDto>(); TrendlineDto trendlineDto1 = new TrendlineDto() { Id = 1, AssetId = DEFAULT_ASSET_ID, TimeframeId = DEFAULT_TIMEFRAME_ID, SimulationId = DEFAULT_SIMULATION_ID, StartIndex = 50, StartLevel = 1.1234, FootholdLevel = 1.1412, FootholdIndex = 72, LastUpdateIndex = 77, Value = 1.23 }; dtos.AddRange(new TrendlineDto[] { trendlineDto1 }); mockedRepository.Setup(r => r.GetTrendlines(DEFAULT_ASSET_ID, DEFAULT_TIMEFRAME_ID, DEFAULT_SIMULATION_ID)).Returns(dtos); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); //Assert Trendline baseTrendline = service.GetTrendlineById(1); Trendline comparedTrendline = service.GetTrendlineById(1); bool areTheSame = (baseTrendline == comparedTrendline); Assert.IsTrue(areTheSame); }