コード例 #1
0
        public void TestGetOptimalRatings()
        {
            var dataMock           = new Mock <IDbDataService <IData> >();
            var brksWithRatings    = MockData.GetDefaultBreaks();
            var expectedOutput     = MockData.GetBreaksWithOrderedCommercials();
            var defaultCommercials = MockData.GetDefaultCommercials();

            dataMock.Setup(p => p.GetItems <Commercial>()).Returns(Task.FromResult(defaultCommercials));
            var service = new ProcessingService(dataMock.Object);
            var result  = service.GetOptimalRatings(brksWithRatings).Result;

            for (int i = 0; i < expectedOutput.Count; i++)
            {
                Assert.Equal(expectedOutput.ElementAt(i).Id, result.ElementAt(i).Id);
                Assert.Equal(expectedOutput.ElementAt(i).Commercials.Count, result.ElementAt(i).Commercials.Count);
                for (int j = 0; j < expectedOutput.ElementAt(i).Commercials.Count; j++)
                {
                    Assert.Equal(expectedOutput.ElementAt(i).Commercials.ElementAt(j).Id, result.ElementAt(i).Commercials.ElementAt(j).Id);
                    Assert.Equal(expectedOutput.ElementAt(i).Commercials.ElementAt(j).TargetDemo, result.ElementAt(i).Commercials.ElementAt(j).TargetDemo);
                    Assert.Equal(expectedOutput.ElementAt(i).Commercials.ElementAt(j).CommercialType, result.ElementAt(i).Commercials.ElementAt(j).CommercialType);
                    Assert.Equal(expectedOutput.ElementAt(i).Commercials.ElementAt(j).TargetDemoName, result.ElementAt(i).Commercials.ElementAt(j).TargetDemoName);
                }
            }
            Assert.Equal(expectedOutput.ElementAt(1).DisallowedCommTypes.Count, result.ElementAt(1).DisallowedCommTypes.Count);
            Assert.Equal(1970, result.Sum(d => d?.Commercials?.Sum(p => p.CurrentRating.Score)));
        }
コード例 #2
0
        public void TestGetOptimiserSuccess()
        {
            var serviceMock = new Mock <IProcessingService>();

            serviceMock.Setup(p => p.GetOptimalRatings(It.IsAny <List <Break> >())).Returns(() => Task.FromResult(MockData.GetDefaultBreaks()));
            var mockController = new DefaultController(serviceMock.Object);
            var response       = mockController.Optimise(MockData.GetBreaksWithOrderedCommercials()).Result as OkObjectResult;

            Assert.NotNull(response);
            Assert.Equal(MockData.GetSerializedResponse(), response.Value);
        }
コード例 #3
0
        public void TestOrderCommercials()
        {
            var dataMock  = new Mock <IDbDataService <IData> >();
            var unordered = MockData.GetBreaksWithUnorderedCommercials();
            var ordered   = MockData.GetBreaksWithOrderedCommercials();
            var service   = new ProcessingService(dataMock.Object);
            var result    = service.OrderCommercials(unordered);


            for (int i = 0; i < ordered.Count; i++)
            {
                Assert.Equal(ordered.ElementAt(i).Id, result.ElementAt(i).Id);
                Assert.Equal(ordered.ElementAt(i).Commercials.Count, result.ElementAt(i).Commercials.Count);
                for (int j = 0; j < ordered.ElementAt(i).Commercials.Count; j++)
                {
                    Assert.Equal(ordered.ElementAt(i).Commercials.ElementAt(j).CommercialType, result.ElementAt(i).Commercials.ElementAt(j).CommercialType);
                    Assert.Equal(ordered.ElementAt(i).Commercials.ElementAt(j).CommercialType, result.ElementAt(i).Commercials.ElementAt(j).CommercialType);
                    Assert.Equal(ordered.ElementAt(i).Commercials.ElementAt(j).CommercialType, result.ElementAt(i).Commercials.ElementAt(j).CommercialType);
                }
            }
        }