示例#1
0
        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));
        }
示例#2
0
        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);
        }