Пример #1
0
        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);
        }
Пример #2
0
        public void Constructor_newInstance_hasProperParameters()
        {
            //Act.
            var trendRange = new TrendBreak(DEFAULT_TRENDLINE_ID, DEFAULT_INDEX_NUMBER);

            //Assert.
            Assert.IsNotNull(trendRange.Guid);
            Assert.AreEqual(DEFAULT_TRENDLINE_ID, trendRange.TrendlineId);
            Assert.AreEqual(DEFAULT_INDEX_NUMBER, trendRange.IndexNumber);
        }
Пример #3
0
        private TrendBreak getDefaultTrendBreak()
        {
            var TrendBreak = new TrendBreak(DEFAULT_TRENDLINE_ID, DEFAULT_INDEX_NUMBER)
            {
                Id   = DEFAULT_ID,
                Guid = DEFAULT_GUID,
                PreviousRangeGuid = DEFAULT_PREVIOUS_RANGE_GUID,
                NextRangeGuid     = DEFAULT_NEXT_RANGE_GUID
            };

            return(TrendBreak);
        }
Пример #4
0
        private TrendBreak getDefaultTrendBreak()
        {
            var trendBreak = new TrendBreak(DEFAULT_TRENDLINE_ID, DEFAULT_INDEX_NUMBER)
            {
                Id                = DEFAULT_ID,
                TrendlineId       = DEFAULT_TRENDLINE_ID,
                IndexNumber       = DEFAULT_INDEX_NUMBER,
                PreviousRangeGuid = DEFAULT_PREVIOUS_RANGE_GUID,
                NextRangeGuid     = DEFAULT_NEXT_RANGE_GUID
            };

            return(trendBreak);
        }
Пример #5
0
        private Dictionary <int, TrendBreak> GetTrendBreaksMap(int assetId, int timeframeId)
        {
            _repository = new EFTrendlineRepository();
            IEnumerable <TrendBreakDto> dtos = _repository.GetTrendBreaks();

            Dictionary <int, TrendBreak> trendBreaksMap = new Dictionary <int, TrendBreak>();

            foreach (var dto in dtos)
            {
                var trendBreak = TrendBreak.FromDto(dto);
                trendBreaksMap.Add(trendBreak.TrendBreakId, trendBreak);
            }
            return(trendBreaksMap);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        public void ToDto_returnProperDto()
        {
            //Act
            var TrendBreak = new TrendBreak(DEFAULT_TRENDLINE_ID, DEFAULT_INDEX_NUMBER)
            {
                Id = DEFAULT_ID,
                PreviousRangeGuid = DEFAULT_PREVIOUS_RANGE_GUID,
                NextRangeGuid     = null
            };
            var guid          = TrendBreak.Guid;
            var TrendBreakDto = TrendBreak.ToDto();

            //Assert.
            Assert.AreEqual(DEFAULT_ID, TrendBreakDto.Id);
            Assert.AreEqual(guid, TrendBreakDto.Guid);
            Assert.AreEqual(DEFAULT_TRENDLINE_ID, TrendBreakDto.TrendlineId);
            Assert.AreEqual(DEFAULT_INDEX_NUMBER, TrendBreakDto.IndexNumber);
            Assert.AreEqual(DEFAULT_PREVIOUS_RANGE_GUID, TrendBreakDto.PreviousRangeGuid);
            Assert.IsNull(TrendBreakDto.NextRangeGuid);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
        }
Пример #11
0
        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));
        }