public void GetTrendBreaks_ReturnsProperCollectionOfTrendBreaks() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); List <TrendBreakDto> dtos = new List <TrendBreakDto>(); TrendBreak break1 = getDefaultTrendBreak(); TrendBreak break2 = getDefaultTrendBreak(); TrendBreak break3 = getDefaultTrendBreak(); TrendBreakDto dto1 = break1.ToDto(); TrendBreakDto dto2 = break2.ToDto(); TrendBreakDto dto3 = break3.ToDto(); dtos.AddRange(new TrendBreakDto[] { dto1, dto2, dto3 }); mockedRepository.Setup(r => r.GetTrendBreaks(1)).Returns(dtos); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); var actualSimultations = service.GetTrendBreaks(1); //Assert IEnumerable <TrendBreak> expectedTrendBreaks = new TrendBreak[] { break1, break2, break3 }; bool areEqual = expectedTrendBreaks.HasEqualItems(actualSimultations); Assert.IsTrue(areEqual); }
public void UpdateTrendBreaks_WorksProperly_IfItemsAreOnlyAdded() { //Arrange EFTrendlineRepository repository = new EFTrendlineRepository(); List <TrendBreakDto> trendBreaks = new List <TrendBreakDto>(); TrendBreakDto dto1 = new TrendBreakDto() { Id = 1, Guid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", TrendlineId = 1, IndexNumber = 2, PreviousRangeGuid = null, NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; TrendBreakDto dto2 = new TrendBreakDto() { Id = 2, Guid = "89BFF378-F310-4A28-B753-00A0FF9A852C", TrendlineId = 1, IndexNumber = 9, PreviousRangeGuid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", NextRangeGuid = "A62DB207-FDDA-45B4-94F6-AE16F4CA9A58" }; TrendBreakDto dto3 = new TrendBreakDto() { Id = 3, Guid = "A62DB207-FDDA-45B4-94F6-AE16F4CA9A58", TrendlineId = 1, IndexNumber = 18, PreviousRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C", NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; TrendBreakDto dto4 = new TrendBreakDto() { Id = 4, Guid = "562BED90-29F8-423E-8D00-DE699C1D14C3", TrendlineId = 2, IndexNumber = 21, PreviousRangeGuid = "A62DB207-FDDA-45B4-94F6-AE16F4CA9A58", NextRangeGuid = null }; trendBreaks.AddRange(new TrendBreakDto[] { dto1, dto2, dto3, dto4 }); //Act clearTrendBreaksTables(); repository.UpdateTrendBreaks(trendBreaks); IEnumerable <TrendBreakDto> actualRecords = repository.GetTrendBreaks(1); //Assert Assert.IsTrue(repository.GetTrendBreaks(1).HasEqualItems(new TrendBreakDto[] { dto1, dto2, dto3 })); Assert.IsTrue(repository.GetTrendBreaks(2).HasEqualItems(new TrendBreakDto[] { dto4 })); }
public void GetTrendBreakById_ReturnsNull_IfThereIsNoTrendlineWithSuchId() { //Arrange EFTrendlineRepository repository = new EFTrendlineRepository(); List <TrendBreakDto> trendBreaks = new List <TrendBreakDto>(); trendBreaks.AddRange(new TrendBreakDto[] { getDefaultTrendBreakDto() }); clearTrendBreaksTables(); repository.UpdateTrendBreaks(trendBreaks); //Act TrendBreakDto resultDto = repository.GetTrendBreakById(50); //Assert Assert.IsNull(resultDto); }
public void GetTrendBreakById_ReturnsNull_IfThereIsNoItemWithGivenCombination() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); TrendBreakDto returnedDto = null; mockedRepository.Setup(r => r.GetTrendBreakById(1)).Returns(returnedDto); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); //Assert TrendBreak baseTrendRange = service.GetTrendBreakById(1); Assert.IsNull(baseTrendRange); }
public static TrendBreak FromDto(TrendBreakDto dto) { var trendBreak = new TrendBreak { TrendBreakId = dto.TrendBreakId, TrendlineId = dto.TrendlineId, DateIndex = dto.DateIndex, BreakFromAbove = dto.BreakFromAbove, Value = dto.Value, BreakDayAmplitudePoints = dto.BreakDayAmplitudePoints, PreviousDayPoints = dto.PreviousDayPoints, NextDaysMinDistancePoints = dto.NextDaysMinDistancePoints, NextDaysMaxVariancePoints = dto.NextDaysMaxVariancePoints }; return(trendBreak); }
public void GetTrendBreaks_returnProperDtoCollection() { //Arrange EFTrendlineRepository repository = new EFTrendlineRepository(); TrendBreakDto[] breaks = getDefaultTrendBreakDtosArray(); clearTrendBreaksTables(); repository.UpdateTrendBreaks(breaks); //Act IEnumerable <TrendBreakDto> dtos = repository.GetTrendBreaks(1).ToArray(); //Assert IEnumerable <TrendBreakDto> expected = new TrendBreakDto[] { breaks[0], breaks[1], breaks[2] }; bool areEqualArrays = expected.HasEqualItems(dtos); Assert.IsTrue(areEqualArrays); }
public void GetTrendBreakById_ReturnsProperItem_IfItemExists() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); TrendBreak trendBreak = getDefaultTrendBreak(); TrendBreakDto dto = trendBreak.ToDto(); mockedRepository.Setup(r => r.GetTrendBreakById(1)).Returns(dto); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); var actualTrendBreak = service.GetTrendBreakById(1); //Assert bool areEqual = trendBreak.Equals(actualTrendBreak); Assert.IsTrue(areEqual); }
public void GetTrendBreakById_ReturnsProperTrendlineDto_IfExists() { //Arrange EFTrendlineRepository repository = new EFTrendlineRepository(); List <TrendBreakDto> trendBreaks = new List <TrendBreakDto>(); TrendBreakDto expectedDto = getDefaultTrendBreakDto(); trendBreaks.AddRange(new TrendBreakDto[] { expectedDto }); clearTrendBreaksTables(); repository.UpdateTrendBreaks(trendBreaks); //Act TrendBreakDto resultDto = repository.GetTrendBreakById(expectedDto.Id); //Assert var areEqual = expectedDto.Equals(resultDto); Assert.IsTrue(areEqual); }
private TrendBreakDto[] getDefaultTrendBreakDtosArray() { TrendBreakDto[] arr = new TrendBreakDto[4]; arr[0] = new TrendBreakDto() { Id = 1, Guid = System.Guid.NewGuid().ToString(), TrendlineId = 1, IndexNumber = 5, PreviousRangeGuid = System.Guid.NewGuid().ToString(), NextRangeGuid = System.Guid.NewGuid().ToString() }; arr[1] = new TrendBreakDto() { Id = 2, Guid = System.Guid.NewGuid().ToString(), TrendlineId = 1, IndexNumber = 12, PreviousRangeGuid = System.Guid.NewGuid().ToString(), NextRangeGuid = System.Guid.NewGuid().ToString() }; arr[2] = new TrendBreakDto() { Id = 3, Guid = System.Guid.NewGuid().ToString(), TrendlineId = 1, IndexNumber = 156, PreviousRangeGuid = System.Guid.NewGuid().ToString(), NextRangeGuid = System.Guid.NewGuid().ToString() }; arr[3] = new TrendBreakDto() { Id = 4, Guid = System.Guid.NewGuid().ToString(), TrendlineId = 2, IndexNumber = 187, PreviousRangeGuid = System.Guid.NewGuid().ToString(), NextRangeGuid = null }; return(arr); }
public void CopyProperties_AfterwardAllPropertiesAreEqual() { //Arrange var baseItem = getDefaultTrendBreakDto(); var comparedItem = new TrendBreakDto() { Id = 1, Guid = DEFAULT_GUID, TrendlineId = DEFAULT_TRENDLINE_ID + 1, IndexNumber = DEFAULT_INDEX_NUMBER + 1, PreviousRangeGuid = DEFAULT_PREVIOUS_RANGE_GUID, NextRangeGuid = DEFAULT_NEXT_RANGE_GUID }; //Act comparedItem.CopyProperties(baseItem); var areEqual = baseItem.Equals(comparedItem); //Assert Assert.IsTrue(areEqual); }
public void Constructor_fromDto_hasCorrectProperties() { //Act. var TrendBreakDto = new TrendBreakDto() { Id = DEFAULT_ID, TrendlineId = DEFAULT_TRENDLINE_ID, IndexNumber = DEFAULT_INDEX_NUMBER, Guid = DEFAULT_GUID, PreviousRangeGuid = DEFAULT_PREVIOUS_RANGE_GUID, NextRangeGuid = DEFAULT_NEXT_RANGE_GUID }; var trendRange = TrendBreak.FromDto(TrendBreakDto); //Assert. Assert.AreEqual(DEFAULT_ID, trendRange.Id); Assert.AreEqual(DEFAULT_GUID, trendRange.Guid); Assert.AreEqual(DEFAULT_TRENDLINE_ID, trendRange.TrendlineId); Assert.AreEqual(DEFAULT_INDEX_NUMBER, trendRange.IndexNumber); Assert.AreEqual(DEFAULT_PREVIOUS_RANGE_GUID, trendRange.PreviousRangeGuid); Assert.AreEqual(DEFAULT_NEXT_RANGE_GUID, trendRange.NextRangeGuid); }
public void GetTrendBreakById_ReturnsAlwaysTheSameInstance() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); List <TrendBreakDto> dtos = new List <TrendBreakDto>(); TrendBreak trendBreak = getDefaultTrendBreak(); TrendBreakDto dto = trendBreak.ToDto(); dtos.AddRange(new TrendBreakDto[] { dto }); mockedRepository.Setup(r => r.GetTrendBreaks(1)).Returns(dtos); mockedRepository.Setup(r => r.GetTrendBreakById(1)).Returns(dto); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); //Assert TrendBreak baseTrendBreak = service.GetTrendBreakById(1); TrendBreak comparedTrendBreak = service.GetTrendBreakById(1); bool areTheSame = (baseTrendBreak == comparedTrendBreak); Assert.IsTrue(areTheSame); }
public void UpdateTrendBreaks_WorksProperly_IfItemsAreAddedAndUpdated() { //Arrange AnalysisDataQueryDefinition queryDef = new AnalysisDataQueryDefinition(1, 1); EFTrendlineRepository repository = new EFTrendlineRepository(); List <TrendBreakDto> trendBreaks = new List <TrendBreakDto>(); TrendBreakDto dto1 = new TrendBreakDto() { Id = 1, Guid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", TrendlineId = 1, IndexNumber = 2, PreviousRangeGuid = null, NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; TrendBreakDto dto2 = new TrendBreakDto() { Id = 2, Guid = "89BFF378-F310-4A28-B753-00A0FF9A852C", TrendlineId = 1, IndexNumber = 9, PreviousRangeGuid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", NextRangeGuid = "A62DB207-FDDA-45B4-94F6-AE16F4CA9A58" }; TrendBreakDto dto3 = new TrendBreakDto() { Id = 3, Guid = "A62DB207-FDDA-45B4-94F6-AE16F4CA9A58", TrendlineId = 1, IndexNumber = 18, PreviousRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C", NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; TrendBreakDto dto4 = new TrendBreakDto() { Id = 4, Guid = "562BED90-29F8-423E-8D00-DE699C1D14C3", TrendlineId = 2, IndexNumber = 21, PreviousRangeGuid = "A62DB207-FDDA-45B4-94F6-AE16F4CA9A58", NextRangeGuid = null }; trendBreaks.AddRange(new TrendBreakDto[] { dto1, dto2 }); clearTrendBreaksTables(); repository.UpdateTrendBreaks(trendBreaks); //Act dto1.NextRangeGuid = System.Guid.NewGuid().ToString(); dto2.NextRangeGuid = System.Guid.NewGuid().ToString(); repository.UpdateTrendBreaks(new TrendBreakDto[] { dto1, dto2, dto3, dto4 }); //Assert Assert.IsTrue(repository.GetTrendBreaks(1).HasEqualItems(new TrendBreakDto[] { dto1, dto2, dto3 })); Assert.IsTrue(repository.GetTrendBreaks(2).HasEqualItems(new TrendBreakDto[] { dto4 })); }
public void UpdateTrendBreaks_AllItemsPassedToMethodArePassedToRepository() { //Arrange List <TrendBreakDto> trendBreakDtos = new List <TrendBreakDto>(); TrendBreak trendBreak = getDefaultTrendBreak(); TrendBreak trendBreak2 = getDefaultTrendBreak(); Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); mockedRepository. Setup(r => r.UpdateTrendBreaks(It.IsAny <IEnumerable <TrendBreakDto> >())). Callback <IEnumerable <TrendBreakDto> >((col) => trendBreakDtos.AddRange(col)).Verifiable(); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); service.UpdateTrendBreak(trendBreak); service.UpdateTrendBreak(trendBreak2); //Assert IEnumerable <TrendBreakDto> expectedTrendBreakDtos = new TrendBreakDto[] { trendBreak.ToDto(), trendBreak2.ToDto() }; mockedRepository.Verify(r => r.UpdateTrendBreaks(It.IsAny <IEnumerable <TrendBreakDto> >()), Times.Exactly(2)); Assert.IsTrue(trendBreakDtos.HasEqualItems(expectedTrendBreakDtos)); }