private void Calc_DSm() { var dateAverage = new DateAverage(dateParser); var valuesColumnName = "DSm_Values"; var resultColumnName = "DSm"; tables.CalcsHydro.IterateRows(row => { var intList = row["OI_METEO"].ToIntList(); var datesQuery = from meteoRow in meteoRows where intList.Contains(meteoRow["OI_Meteo"].IntValue) select meteoRow["DSm"].StringValue; var datesArray = datesQuery .Where(item => item != "") .ToArray(); var values = string.Join(";", datesArray); row.Set(valuesColumnName, values); Etc.NoThrow(() => { var dayMonthAverage = dateAverage.CalcFor(datesArray); var dayMonthRounded = dateAverage.RoundDayMonth(dayMonthAverage, 5); row.Set(resultColumnName, dayMonthRounded); }); }, valuesColumnName, resultColumnName); }
public void Main() { Assert.AreEqual("", dateAverage.CalcFor()); Assert.AreEqual("11.05", dateAverage.CalcFor("11.05")); Assert.AreEqual("11.05", dateAverage.CalcFor("10.05", "12.05")); Assert.AreEqual("13.05", dateAverage.CalcFor("10.05", "16.05")); Assert.AreEqual("10.05", dateAverage.CalcFor("09.05", "10.05", "11.05")); Assert.AreEqual("31.01", dateAverage.CalcFor("01.01", "01.02", "01.03")); Assert.AreEqual("15.01", dateAverage.CalcFor("10.01", "", "20.01")); }