Пример #1
0
        public void ListingTestPercentageDistributionByMake()
        {
            var listings = new List <Listing>()
            {
                new Listing(1101, "Audi", 3000, 1200, "private")
                {
                },
                new Listing(1009, "Audi", 2000, 1000, "private")
                {
                },
                new Listing(1005, "Audi", 1000, 1000, "private")
                {
                },
                new Listing(1007, "VW", 500, 1000, "dealer")
                {
                },
                new Listing(1008, "VW", 2000, 1000, "dealer")
                {
                },
            };

            var calculationEngine = new ListingCalculator();
            var result            = calculationEngine.GetPercentageDistributionResult(listings);

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Count, 2);
            Assert.AreEqual(result[0].Make, "Audi");
            Assert.AreEqual(result[0].DistributionPercentage, 60);
            Assert.AreEqual(result[1].Make, "VW");
            Assert.AreEqual(result[1].DistributionPercentage, 40);
        }
Пример #2
0
        public void ListingTestAveragePricePerSellerType()
        {
            var listings = new List <Listing>()
            {
                new Listing(1101, "Audi", 3000, 1200, "private")
                {
                },
                new Listing(1009, "Audi", 2000, 1000, "private")
                {
                },
                new Listing(1005, "Audi", 1000, 1000, "private")
                {
                },
                new Listing(1007, "VW", 500, 1000, "dealer")
                {
                },
                new Listing(1008, "VW", 2000, 1000, "dealer")
                {
                },
            };

            var calculationEngine = new ListingCalculator();
            var result            = calculationEngine.GetAveragePricePerSellerType(listings);

            Assert.IsNotNull(result);
            Assert.AreEqual(result[0].SellerType, "private");
            Assert.AreEqual(result[0].AveragePrice, 2000);
            Assert.AreEqual(result[1].SellerType, "dealer");
            Assert.AreEqual(result[1].AveragePrice, 1250);
        }
Пример #3
0
        /// <summary>
        ///
        /// </summary>
        public ReportResult GetReportResult(string base64FileListings)
        {
            var returnResult = new ReportResult();

            var listings = CsvParser.ParseCsv <Listing>(base64FileListings);

            CalculationEngine.ListingCalculator calculator = new ListingCalculator();
            returnResult.averagePriceResult            = calculator.GetAveragePricePerSellerType(listings);
            returnResult.percesntageDistributionResult = calculator.GetPercentageDistributionResult(listings);

            return(returnResult);
        }