public void ToDto_returnProperDto() { //Act var trendHit = new TrendHit(DEFAULT_TRENDLINE_ID, DEFAULT_INDEX_NUMBER, DEFAULT_EXTREMUM_TYPE) { Id = DEFAULT_ID, Value = DEFAULT_VALUE, DistanceToLine = DEFAULT_DISTANCE_TO_LINE, PreviousRangeGuid = DEFAULT_PREVIOUS_RANGE_GUID, NextRangeGuid = null }; var guid = trendHit.Guid; var trendHitDto = trendHit.ToDto(); //Assert. Assert.AreEqual(DEFAULT_ID, trendHitDto.Id); Assert.AreEqual(guid, trendHitDto.Guid); Assert.AreEqual(DEFAULT_TRENDLINE_ID, trendHitDto.TrendlineId); Assert.AreEqual(DEFAULT_INDEX_NUMBER, trendHitDto.IndexNumber); Assert.AreEqual(DEFAULT_EXTREMUM_TYPE, trendHitDto.ExtremumType); Assert.AreEqual(DEFAULT_VALUE, trendHitDto.Value); Assert.AreEqual(DEFAULT_DISTANCE_TO_LINE, trendHitDto.DistanceToLine); Assert.AreEqual(DEFAULT_PREVIOUS_RANGE_GUID, trendHitDto.PreviousRangeGuid); Assert.IsNull(trendHitDto.NextRangeGuid); }
public void UpdateTrendhits_AllItemsPassedToMethodArePassedToRepository() { //Arrange IEnumerable <TrendHitDto> trendhitDtos = null; TrendHit trendhit = new TrendHit(1, 2, ExtremumType.PeakByClose) { Id = 1, Guid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", Value = 1.234, DistanceToLine = 0.0004, PreviousRangeGuid = null, NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); mockedRepository. Setup(r => r.UpdateTrendHits(It.IsAny <IEnumerable <TrendHitDto> >())). Callback <IEnumerable <TrendHitDto> >((col) => trendhitDtos = col).Verifiable(); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); service.UpdateTrendHit(trendhit); //Assert IEnumerable <TrendHitDto> expectedTrendhitDtos = new TrendHitDto[] { trendhit.ToDto() }; mockedRepository.Verify(r => r.UpdateTrendHits(It.IsAny <IEnumerable <TrendHitDto> >()), Times.Exactly(1)); Assert.IsTrue(trendhitDtos.HasEqualItems(expectedTrendhitDtos)); }
public void Constructor_fromDto_hasCorrectProperties() { //Act. var trendHitDto = new TrendHitDto() { Id = DEFAULT_ID, TrendlineId = DEFAULT_TRENDLINE_ID, IndexNumber = DEFAULT_INDEX_NUMBER, ExtremumType = DEFAULT_EXTREMUM_TYPE, Value = DEFAULT_VALUE, DistanceToLine = DEFAULT_DISTANCE_TO_LINE, Guid = DEFAULT_GUID, PreviousRangeGuid = DEFAULT_PREVIOUS_RANGE_GUID, NextRangeGuid = DEFAULT_NEXT_RANGE_GUID }; var trendHit = TrendHit.FromDto(trendHitDto); //Assert. Assert.AreEqual(DEFAULT_ID, trendHit.Id); Assert.AreEqual(DEFAULT_GUID, trendHit.Guid); Assert.AreEqual(DEFAULT_TRENDLINE_ID, trendHit.TrendlineId); Assert.AreEqual(DEFAULT_INDEX_NUMBER, trendHit.IndexNumber); Assert.AreEqual(DEFAULT_EXTREMUM_TYPE, (int)trendHit.ExtremumType); Assert.AreEqual(DEFAULT_VALUE, trendHit.Value); Assert.AreEqual(DEFAULT_DISTANCE_TO_LINE, trendHit.DistanceToLine); Assert.AreEqual(DEFAULT_PREVIOUS_RANGE_GUID, trendHit.PreviousRangeGuid); Assert.AreEqual(DEFAULT_NEXT_RANGE_GUID, trendHit.NextRangeGuid); }
public void GetTrendhitById_ReturnsAlwaysTheSameInstance() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); List <TrendHitDto> dtos = new List <TrendHitDto>(); TrendHitDto dto = new TrendHitDto() { Id = 1, Guid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", TrendlineId = 1, IndexNumber = 2, ExtremumType = 1, Value = 1.234, DistanceToLine = 0.0004, PreviousRangeGuid = null, NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; dtos.AddRange(new TrendHitDto[] { dto }); mockedRepository.Setup(r => r.GetTrendHits(1)).Returns(dtos); mockedRepository.Setup(r => r.GetTrendHitById(1)).Returns(dto); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); //Assert TrendHit baseTrendHit = service.GetTrendHitById(1); TrendHit comparedTrendhit = service.GetTrendHitById(1); bool areTheSame = (baseTrendHit == comparedTrendhit); Assert.IsTrue(areTheSame); }
public void Constructor_newInstance_hasProperParameters() { //Act. var trendHit = new TrendHit(DEFAULT_TRENDLINE_ID, DEFAULT_INDEX_NUMBER, DEFAULT_EXTREMUM_TYPE); //Assert. Assert.IsNotNull(trendHit.Guid); Assert.AreEqual(DEFAULT_TRENDLINE_ID, trendHit.TrendlineId); Assert.AreEqual(DEFAULT_INDEX_NUMBER, trendHit.IndexNumber); Assert.AreEqual(DEFAULT_EXTREMUM_TYPE, (int)trendHit.ExtremumType); }
private TrendHit getDefaultTrendline() { var trendHit = new TrendHit(DEFAULT_TRENDLINE_ID, DEFAULT_INDEX_NUMBER, DEFAULT_EXTREMUM_TYPE) { Id = DEFAULT_ID, Guid = DEFAULT_GUID, Value = DEFAULT_VALUE, DistanceToLine = DEFAULT_DISTANCE_TO_LINE, PreviousRangeGuid = DEFAULT_PREVIOUS_RANGE_GUID, NextRangeGuid = DEFAULT_NEXT_RANGE_GUID }; return(trendHit); }
public void GetTrendhitById_ReturnsNull_IfThereIsNoItemWithGivenCombination() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); TrendHitDto returnedDto = null; mockedRepository.Setup(r => r.GetTrendHitById(1)).Returns(returnedDto); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); //Assert TrendHit baseTrendHit = service.GetTrendHitById(1); Assert.IsNull(baseTrendHit); }
public void GetTrendhits_ReturnsProperCollectionOfTrendhits() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); List <TrendHitDto> dtos = new List <TrendHitDto>(); TrendHitDto dto1 = new TrendHitDto() { Id = 1, Guid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", TrendlineId = 1, IndexNumber = 2, ExtremumType = 1, Value = 1.234, DistanceToLine = 0.0004, PreviousRangeGuid = null, NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; TrendHitDto dto2 = new TrendHitDto() { Id = 2, Guid = "89BFF378-F310-4A28-B753-00A0FF9A852C", TrendlineId = 1, IndexNumber = 9, ExtremumType = 2, Value = 1.345, DistanceToLine = 0.0007, PreviousRangeGuid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", NextRangeGuid = "A62DB207-FDDA-45B4-94F6-AE16F4CA9A58" }; TrendHitDto dto3 = new TrendHitDto() { Id = 3, Guid = "A62DB207-FDDA-45B4-94F6-AE16F4CA9A58", TrendlineId = 1, IndexNumber = 18, ExtremumType = 2, Value = 1.567, DistanceToLine = 0.0002, PreviousRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C", NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; dtos.AddRange(new TrendHitDto[] { dto1, dto2, dto3 }); mockedRepository.Setup(r => r.GetTrendHits(1)).Returns(dtos); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); var actualSimultations = service.GetTrendHits(1); //Assert List <TrendHit> expectedTrendhits = new List <TrendHit>(); TrendHit trendhit1 = new TrendHit(1, 2, ExtremumType.PeakByClose) { Id = 1, Guid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", Value = 1.234, DistanceToLine = 0.0004, PreviousRangeGuid = null, NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; TrendHit trendhit2 = new TrendHit(1, 9, ExtremumType.PeakByHigh) { Id = 2, Guid = "89BFF378-F310-4A28-B753-00A0FF9A852C", Value = 1.345, DistanceToLine = 0.0007, PreviousRangeGuid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", NextRangeGuid = "A62DB207-FDDA-45B4-94F6-AE16F4CA9A58" }; TrendHit trendhit3 = new TrendHit(1, 18, ExtremumType.PeakByHigh) { Id = 3, Guid = "A62DB207-FDDA-45B4-94F6-AE16F4CA9A58", Value = 1.567, DistanceToLine = 0.0002, PreviousRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C", NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; expectedTrendhits.AddRange(new TrendHit[] { trendhit1, trendhit2, trendhit3 }); bool areEqual = expectedTrendhits.HasEqualItems(actualSimultations); Assert.IsTrue(areEqual); }
private Dictionary <int, TrendHit> GetTrendHitsMap(int assetId, int timeframeId) { _repository = new EFTrendlineRepository(); IEnumerable <TrendHitDto> dtos = _repository.GetTrendHits(); IEnumerable <TrendHit> trendHits = dtos.Select(th => TrendHit.FromDto(th)); Dictionary <int, TrendHit> trendHitsMap = new Dictionary <int, TrendHit>(); Dictionary <int, ExtremumGroup> extremumGroupsMap = GetExtremumGroupsMap(assetId, timeframeId); foreach (var trendHit in trendHits) { ExtremumGroup eg = null; extremumGroupsMap.TryGetValue(trendHit.ExtremumGroupId, out eg); if (eg != null) { trendHit.ExtremumGroup = eg; } trendHitsMap.Add(trendHit.TrendHitId, trendHit); } return(trendHitsMap); }
public void GetTrendhitById_ReturnsProperItem_IfItemExists() { //Arrange Mock <ITrendlineRepository> mockedRepository = new Mock <ITrendlineRepository>(); TrendHitDto dto = new TrendHitDto() { Id = 1, Guid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", TrendlineId = 1, IndexNumber = 2, ExtremumType = 1, Value = 1.234, DistanceToLine = 0.0004, PreviousRangeGuid = null, NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; mockedRepository.Setup(r => r.GetTrendHitById(1)).Returns(dto); //Act TrendlineService service = new TrendlineService(mockedRepository.Object); var actualTrendhit = service.GetTrendHitById(1); //Assert TrendHit expectedTrendhit = new TrendHit(1, 2, ExtremumType.PeakByClose) { Id = 1, Guid = "AC180C9B-E6D2-4138-8E0A-BE31FCE8626D", Value = 1.234, DistanceToLine = 0.0004, PreviousRangeGuid = null, NextRangeGuid = "89BFF378-F310-4A28-B753-00A0FF9A852C" }; bool areEqual = expectedTrendhit.Equals(actualTrendhit); Assert.IsTrue(areEqual); }