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(); } }
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)"); }