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)));
        }
        public void TestGetBestBreak()
        {
            var unordered  = MockData.GetDefaultBreaks();
            var commercial = MockData.GetDefaultCommercials().ElementAt(3);
            var service    = new ProcessingService(null);
            var br         = service.GetBestBreak(unordered, commercial);

            Assert.NotNull(br);
            Assert.Equal(3, br.Id);
        }
Exemple #3
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);
        }