示例#1
0
 private static void AssertHourInfos <T>(IDrop2GHourInfo <T> source, T[] dest)
 {
     Assert.AreEqual(source.Hour0Info, dest[0]);
     Assert.AreEqual(source.Hour1Info, dest[1]);
     Assert.AreEqual(source.Hour2Info, dest[2]);
     Assert.AreEqual(source.Hour3Info, dest[3]);
     Assert.AreEqual(source.Hour4Info, dest[4]);
     Assert.AreEqual(source.Hour5Info, dest[5]);
     Assert.AreEqual(source.Hour6Info, dest[6]);
     Assert.AreEqual(source.Hour7Info, dest[7]);
     Assert.AreEqual(source.Hour8Info, dest[8]);
     Assert.AreEqual(source.Hour9Info, dest[9]);
     Assert.AreEqual(source.Hour10Info, dest[10]);
     Assert.AreEqual(source.Hour11Info, dest[11]);
     Assert.AreEqual(source.Hour12Info, dest[12]);
     Assert.AreEqual(source.Hour13Info, dest[13]);
     Assert.AreEqual(source.Hour14Info, dest[14]);
     Assert.AreEqual(source.Hour15Info, dest[15]);
     Assert.AreEqual(source.Hour16Info, dest[16]);
     Assert.AreEqual(source.Hour17Info, dest[17]);
     Assert.AreEqual(source.Hour18Info, dest[18]);
     Assert.AreEqual(source.Hour19Info, dest[19]);
     Assert.AreEqual(source.Hour20Info, dest[20]);
     Assert.AreEqual(source.Hour21Info, dest[21]);
     Assert.AreEqual(source.Hour22Info, dest[22]);
     Assert.AreEqual(source.Hour23Info, dest[23]);
 }
 public static void AssertHourTest <TValue>(this IDrop2GHourInfo <TValue> info, TValue[] expectedValues)
 {
     Assert.IsNotNull(info);
     Assert.AreEqual(info.Hour0Info, expectedValues[0]);
     Assert.AreEqual(info.Hour1Info, expectedValues[1]);
     Assert.AreEqual(info.Hour2Info, expectedValues[2]);
     Assert.AreEqual(info.Hour3Info, expectedValues[3]);
     Assert.AreEqual(info.Hour4Info, expectedValues[4]);
     Assert.AreEqual(info.Hour5Info, expectedValues[5]);
     Assert.AreEqual(info.Hour6Info, expectedValues[6]);
     Assert.AreEqual(info.Hour7Info, expectedValues[7]);
     Assert.AreEqual(info.Hour8Info, expectedValues[8]);
     Assert.AreEqual(info.Hour9Info, expectedValues[9]);
     Assert.AreEqual(info.Hour10Info, expectedValues[10]);
     Assert.AreEqual(info.Hour11Info, expectedValues[11]);
     Assert.AreEqual(info.Hour12Info, expectedValues[12]);
     Assert.AreEqual(info.Hour13Info, expectedValues[13]);
     Assert.AreEqual(info.Hour14Info, expectedValues[14]);
     Assert.AreEqual(info.Hour15Info, expectedValues[15]);
     Assert.AreEqual(info.Hour16Info, expectedValues[16]);
     Assert.AreEqual(info.Hour17Info, expectedValues[17]);
     Assert.AreEqual(info.Hour18Info, expectedValues[18]);
     Assert.AreEqual(info.Hour19Info, expectedValues[19]);
     Assert.AreEqual(info.Hour20Info, expectedValues[20]);
     Assert.AreEqual(info.Hour21Info, expectedValues[21]);
     Assert.AreEqual(info.Hour22Info, expectedValues[22]);
     Assert.AreEqual(info.Hour23Info, expectedValues[23]);
 }
示例#3
0
        public static TInfo GenerateHourInfo <TInfo, TValue>(
            this IDrop2GHourInfo <string> csvStat)
            where TInfo : class, IDrop2GHourInfo <TValue>, new()
        {
            TInfo info = new TInfo();

            csvStat.ConvertProperties <IDrop2GHourInfo <string>, IDrop2GHourInfo <TValue> >(info);
            return(info);
        }
示例#4
0
        public static List <T> GenerateHourInfos <T>(
            this IDrop2GHourInfo <string> csvStat,
            Action <List <T>, object, short> UpdateInfos)
        {
            List <T> infos = new List <T>();

            PropertyInfo[] properties = (typeof(IDrop2GHourInfo <string>)).GetProperties();

            for (short hour = 0; hour < 24; hour++)
            {
                string       propertyName = "Hour" + hour + "Info";
                PropertyInfo property     = properties.FirstOrDefault(x => x.Name == propertyName);
                if (property != null)
                {
                    object statContent = property.GetValue(csvStat);
                    UpdateInfos(infos, statContent, hour);
                }
            }
            return(infos);
        }
示例#5
0
 public static List <NeighborHourInfo> GenerateNeighborHourInfos(
     this IDrop2GHourInfo <string> csvStat)
 {
     return(csvStat.GenerateHourInfos <NeighborHourInfo>((i, s, h) => i.UpdateInfos(s, h)));
 }