Пример #1
0
        public void Test()
        {
            Random rand = new Random();
            AirQualityCompositeIndexCalculator calculator = new AirQualityCompositeIndexCalculator();

            calculator.CheckIntegrity = true;
            List <CityMonthlyAirQuality> list = new List <CityMonthlyAirQuality>();

            for (int i = 0; i < 100; i++)
            {
                CityMonthlyAirQuality item = new CityMonthlyAirQuality()
                {
                    Code         = string.Format("Code{0}", i.ToString().PadLeft(3, '0')),
                    Time         = DateTime.Today,
                    Name         = string.Format("Name{0}", i.ToString().PadLeft(3, '0')),
                    SO2          = Math.Round(rand.NextDouble() * 60),
                    NO2          = Math.Round(rand.NextDouble() * 40),
                    PM10         = Math.Round(rand.NextDouble() * 70),
                    CO           = Math.Round(rand.NextDouble() * 4, 1),
                    O3           = Math.Round(rand.NextDouble() * 160),
                    PM25         = Math.Round(rand.NextDouble() * 35),
                    StandardDays = rand.Next(30)
                };
                //calculator.CalculateAirQualityCompositeIndex(item);
                list.Add(item);
            }
            using (SuncereDataCenterModel db = new SuncereDataCenterModel())
            {
                db.CityMonthlyAirQuality.AddRange(list);
                db.SaveChanges();
            }
        }
Пример #2
0
        public void CalculateAirQualityCompositeIndexTest()
        {
            AirQualityCompositeIndexCalculator calculator = new AirQualityCompositeIndexCalculator();

            calculator.CheckIntegrity = true;
            AirQualityCompositeIndexCalculate data1 = new AirQualityCompositeIndexCalculate()
            {
                SO2  = 12,
                NO2  = 12,
                PM10 = 12,
                PM25 = 12,
                CO   = null,
                O3   = 17
            };

            calculator.CalculateAirQualityCompositeIndex(data1);
            Assert.IsNull(data1.AQCI);
            Assert.IsNull(data1.PrimaryPollutant);
            AirQualityCompositeIndexCalculate data2 = new AirQualityCompositeIndexCalculate()
            {
                SO2  = 21,
                NO2  = 21,
                PM10 = 21,
                PM25 = 21,
                CO   = 0.1,
                O3   = 34
            };

            calculator.CalculateAirQualityCompositeIndex(data2);
            Assert.AreEqual(data2.AQCI, 2);
            Assert.AreEqual(data2.PrimaryPollutant, "细颗粒物(PM2.5)");
            AirQualityCompositeIndexCalculate data3 = new AirQualityCompositeIndexCalculate()
            {
                SO2  = 14,
                NO2  = 14,
                PM10 = 14,
                PM25 = 14,
                CO   = 0.2,
                O3   = 18
            };

            calculator.CalculateAirQualityCompositeIndex(data3);
            Assert.AreEqual(data3.AQCI, 1.34);
            Assert.AreEqual(data3.PrimaryPollutant, "细颗粒物(PM2.5)");
        }