public void Constructor_fromDto_hasCorrectProperties() { //Act. var TrendRangeDto = new TrendRangeDto() { Id = DEFAULT_ID, Guid = DEFAULT_GUID, TrendlineId = DEFAULT_TRENDLINE_ID, StartIndex = DEFAULT_START_INDEX, EndIndex = DEFAULT_END_INDEX, QuotationsCounter = DEFAULT_QUOTATIONS_COUNTER, TotalDistance = DEFAULT_TOTAL_DISTANCE, Value = DEFAULT_VALUE, PreviousBreakGuid = DEFAULT_PREVIOUS_BREAK_GUID, PreviousHitGuid = DEFAULT_PREVIOUS_HIT_GUID, NextBreakGuid = DEFAULT_NEXT_BREAK_GUID, NextHitGuid = DEFAULT_NEXT_HIT_GUID }; var trendRange = TrendRange.FromDto(TrendRangeDto); //Assert. Assert.AreEqual(DEFAULT_ID, trendRange.Id); Assert.AreEqual(DEFAULT_GUID, trendRange.Guid); Assert.AreEqual(DEFAULT_TRENDLINE_ID, trendRange.TrendlineId); Assert.AreEqual(DEFAULT_START_INDEX, trendRange.StartIndex); Assert.IsTrue(trendRange.EndIndex.IsEqual(DEFAULT_END_INDEX)); Assert.AreEqual(DEFAULT_VALUE, trendRange.Value); Assert.AreEqual(DEFAULT_QUOTATIONS_COUNTER, trendRange.QuotationsCounter); Assert.AreEqual(DEFAULT_TOTAL_DISTANCE, trendRange.TotalDistance); Assert.IsTrue(trendRange.PreviousBreakGuid.Compare(DEFAULT_PREVIOUS_BREAK_GUID)); Assert.IsTrue(trendRange.PreviousHitGuid.Compare(DEFAULT_PREVIOUS_HIT_GUID)); Assert.IsTrue(trendRange.NextBreakGuid.Compare(DEFAULT_NEXT_BREAK_GUID)); Assert.IsTrue(trendRange.NextHitGuid.Compare(DEFAULT_NEXT_HIT_GUID)); }
private IEnumerable <TrendRange> GetTrendRanges(int assetId, int timeframeId) { _repository = new EFTrendlineRepository(); IEnumerable <TrendRangeDto> dtos = _repository.GetTrendRanges(); IEnumerable <TrendRange> trendRanges = dtos.Select(tr => TrendRange.FromDto(tr)); Dictionary <int, TrendHit> trendHits = GetTrendHitsMap(assetId, timeframeId); Dictionary <int, TrendBreak> trendBreaks = GetTrendBreaksMap(assetId, timeframeId); List <TrendRange> result = new List <TrendRange>(); foreach (var trendRange in trendRanges) { TrendHit th; TrendBreak tb; if (trendRange.BaseIsHit == 1) { trendHits.TryGetValue(trendRange.BaseId, out th); trendRange.StartDelimiter = th; } else { trendBreaks.TryGetValue(trendRange.BaseId, out tb); trendRange.StartDelimiter = tb; } if (trendRange.CounterIsHit == 1) { trendHits.TryGetValue(trendRange.CounterId, out th); trendRange.EndDelimiter = th; } else { trendBreaks.TryGetValue(trendRange.CounterId, out tb); trendRange.EndDelimiter = tb; } result.Add(trendRange); } return(result); }