public MeasMsg ParseMessageIntoMeasMsg(string data, INamedPort virtualPort = null) { this.virtualPort = virtualPort; IList <string> sc = ParseMessage(data); var measMsg = new MeasMsg(); var sb = new StringBuilder(); foreach (var s in sc) { sb.Append(s); } if (!measMsg.Initialise(sb.ToString())) { return(null); } if (RoundSecondsToClosestFullMinute) { var timeSpan = measMsg.Time.TimeOfDay; if (timeSpan.Seconds < 30) { timeSpan = timeSpan.Add(-TimeSpan.FromSeconds(timeSpan.Seconds)); } else { timeSpan = timeSpan.Add(TimeSpan.FromSeconds(60 - timeSpan.Seconds)); } measMsg.Time = measMsg.Time.Date.Add(timeSpan); } return(measMsg); }
} // ParserTest1 private static void ValidateResults(IEnumerable <string> results) { foreach (var s1 in results) { Assert.True(s1.Length > 0); Assert.True(s1.StartsWith("MEAS\t"), "Does not start with MEAS\t"); Assert.True(s1.EndsWith(Environment.NewLine), "Does not end properly"); var m = new MeasMsg(); Assert.True(m.Initialise(s1), "Could not initialise measmsg"); } }
public void ToStdStringTest() { string s1 = "MEAS\tStation01\t\t\tTAAVG60S\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\t0\r\n\n"; MeasMsg measMsg1 = new MeasMsg(); Assert.True(measMsg1.Initialise(s1)); string sz = "MEAS\tStation01\t\t\tTAAVG60S\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\tcOK\r\n"; string tmp2 = MeasMsgFormatter.FormatMeasMsg(measMsg1); int iSz = sz.Length; int iTmp2 = tmp2.Length; Assert.True(iSz == iTmp2); for (var i = 0; i < iSz; i++) { if (tmp2[i] != sz[i]) { Assert.True(false, "Difference in char " + i); } } Assert.True(tmp2 == sz); string s3 = "MEAS\tStation01\t\t\tTAAVG60S\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\t0\r\n\nMEAS\tStation01\t\t\tTAAVG10M\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\t0\r\n\nMEAS\tStation01\t\t\tTAMIN1H\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\t0\r\n\nMEAS\tStation01\t\t\tTAMAX1H\tNONE\t\t2006-01-02 18:08:11\t24.4\t0\t0\r\n\nMEAS\tStation01\t\t\tTAAVG1H\tNONE\t\t2006-01-02 18:08:11\t24.1\t0\t0\r\n\nMEAS\tStation01\t\t\tTAMIN12H\tNONE\t\t2006-01-02 18:08:11\t23.9\t0\t0\r\n\nMEAS\tStation01\t\t\tTAMAX12H\tNONE\t\t2006-01-02 18:08:11\t24.8\t0\t0\r\n\nMEAS\tStation01\t\t\tTAAVG12H\tNONE\t\t2006-01-02 18:08:11\t24.3\t0\t0\r\n\nMEAS\tStation01\t\t\tTAMIN24H\tNONE\t\t2006-01-02 18:08:11\t23.9\t0\t0\r\n\nMEAS\tStation01\t\t\tTAMAX24H\tNONE\t\t2006-01-02 18:08:11\t24.8\t0\t0\r\n\nMEAS\tStation01\t\t\tTAAVG24H\tNONE\t\t2006-01-02 18:08:11\t24.2\t0\t0\r\n\nMEAS\tStation01\t\t\tTG1AVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG1AVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG1MIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n"; s3 += "\nMEAS\tStation01\t\t\tTG1MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG1AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG1MIN12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG1MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG1AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG1MIN24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG1MAX24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG1AVG24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG2AVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG2AVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG2MIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG2MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG2AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG2MIN12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tT"; s3 += "G2MAX12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG2AVG12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTGMIN24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG2MAX24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTG2AVG24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tRHAVG60S\tNONE\t\t2006-01-02 18:08:11\t18\t0\t0\r\n\nMEAS\tStation01\t\t\tRHAVG10M\tNONE\t\t2006-01-02 18:08:11\t18\t0\t0\r\n\nMEAS\tStation01\t\t\tRHMIN1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\t0\r\n\nMEAS\tStation01\t\t\tRHMAX1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\t0\r\n\nMEAS\tStation01\t\t\tRHAVG1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\t0\r\n\nMEAS\tStation01\t\t\tRHMIN24H\tNONE\t\t2006-01-02 18:08:11\t18\t0\t0\r\n\nMEAS\tStation01\t\t\tRHMAX24H\tNONE\t\t2006-01-02 18:08:11\t22\t0\t0\r\n\nMEAS\tStation01\t\t\tRHAVG24H\tNONE\t\t2006-01-02 18:08:11\t19\t0\t0\r\n\nMEAS\tStation01\t\t\tDPAVRG60S\tNONE\t\t2006-01-02 18:08:11\t-1.9\t0\t0\r\n\nMEAS\tStation01\t\t\tDPAVG10M\tNONE\t\t"; s3 += "2006-01-02 18:08:11\t-1.8\t0\t0\r\n\nMEAS\tStation01\t\t\tDPMIN1H\tNONE\t\t2006-01-02 18:08:11\t-1.9\t0\t0\r\n\nMEAS\tStation01\t\t\tDPMAX1H\tNONE\t\t2006-01-02 18:08:11\t-1.4\t0\t0\r\n\nMEAS\tStation01\t\t\tDPAVG1H\tNONE\t\t2006-01-02 18:08:11\t-1.6\t0\t0\r\n\nMEAS\tStation01\t\t\tDPMIN24H\tNONE\t\t2006-01-02 18:08:11\t-1.8\t0\t0\r\n\nMEAS\tStation01\t\t\tDPMAX24H\tNONE\t\t2006-01-02 18:08:11\t0.7\t0\t0\r\n\nMEAS\tStation01\t\t\tDPAVG24H\tNONE\t\t2006-01-02 18:08:11\t-0.6\t0\t0\r\n\nMEAS\tStation01\t\t\tPAAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tPAAVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tPAMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tPAMAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tPAAVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tQFEAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tQFEMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tQFEMAX1H\tNONE\t\t2006-01-02 18:08"; s3 += ":11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tQFEAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tQFFAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tQFFMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tQFFMAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tQFFAVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tppp\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tTENDENCY\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\nMEAS\tStation01\t\t\tSUNSTATE\tNONE\t\t2006-01-02 18:08:11\t-0.008\t0\t0\r\n\nMEAS\tStation01\t\t\tSUNDUR1H\tNONE\t\t2006-01-02 18:08:11\t0\t0\t0\r\n\nMEAS\tStation01\t\t\tSUNDUR24H\tNONE\t\t2006-01-02 18:08:11\t0\t0\t0\r\n\nMEAS\tStation01\t\t\tPREC60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\t0\r\n\n"; MeasMsg measMsg3 = new MeasMsg(); Assert.True(measMsg3.Initialise(s3)); Assert.True(measMsg3.Count == 68); //string sExpected = "MEAS\tStation01\t\t\tPREC60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tSUNDUR24H\tNONE\t\t2006-01-02 18:08:11\t0\t0\tcOK\t\r\nMEAS\tStation01\t\t\tSUNDUR1H\tNONE\t\t2006-01-02 18:08:11\t0\t0\tcOK\t\r\nMEAS\tStation01\t\t\tSUNSTATE\tNONE\t\t2006-01-02 18:08:11\t-0.008\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTENDENCY\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tppp\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tQFFAVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tQFFMAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tQFFMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tQFFAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tQFEAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tQFEMAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tQFEMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tQFEAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tPAAVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tPAMAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tPAMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tPAAVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tPAAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tDPAVG24H\tNONE\t\t2006-01-02 18:08:11\t-0.6\t0\tcOK\t\r\nMEAS\tStation01\t\t\tDPMAX24H\tNONE\t\t2006-01-02 18:08:11\t0.7\t0\tcOK\t\r\nMEAS\tStation01\t\t\tDPMIN24H\tNONE\t\t2006-01-02 18:08:11\t-1.8\t0\tcOK\t\r\nMEAS\tStation01\t\t\tDPAVG1H\tNONE\t\t2006-01-02 18:08:11\t-1.6\t0\tcOK\t\r\nMEAS\tStation01\t\t\tDPMAX1H\tNONE\t\t2006-01-02 18:08:11\t-1.4\t0\tcOK\t\r\nMEAS\tStation01\t\t\tDPMIN1H\tNONE\t\t2006-01-02 18:08:11\t-1.9\t0\tcOK\t\r\nMEAS\tStation01\t\t\tDPAVG10M\tNONE\t\t2006-01-02 18:08:11\t-1.8\t0\tcOK\t\r\nMEAS\tStation01\t\t\tDPAVRG60S\tNONE\t\t2006-01-02 18:08:11\t-1.9\t0\tcOK\t\r\nMEAS\tStation01\t\t\tRHAVG24H\tNONE\t\t2006-01-02 18:08:11\t19\t0\tcOK\t\r\nMEAS\tStation01\t\t\tRHMAX24H\tNONE\t\t2006-01-02 18:08:11\t22\t0\tcOK\t\r\nMEAS\tStation01\t\t\tRHMIN24H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\t\r\nMEAS\tStation01\t\t\tRHAVG1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\t\r\nMEAS\tStation01\t\t\tRHMAX1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\t\r\nMEAS\tStation01\t\t\tRHMIN1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\t\r\nMEAS\tStation01\t\t\tRHAVG10M\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\t\r\nMEAS\tStation01\t\t\tRHAVG60S\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTG2AVG24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG2MAX24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTGMIN24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG2AVG12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG2MAX12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG2MIN12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG2AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG2MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG2MIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG2AVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG2AVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG1AVG24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG1MAX24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG1MIN24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG1AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG1MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG1MIN12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG1AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG1MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG1MIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG1AVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTG1AVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\t\r\nMEAS\tStation01\t\t\tTAAVG24H\tNONE\t\t2006-01-02 18:08:11\t24.2\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTAMAX24H\tNONE\t\t2006-01-02 18:08:11\t24.8\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTAMIN24H\tNONE\t\t2006-01-02 18:08:11\t23.9\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTAAVG12H\tNONE\t\t2006-01-02 18:08:11\t24.3\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTAMAX12H\tNONE\t\t2006-01-02 18:08:11\t24.8\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTAMIN12H\tNONE\t\t2006-01-02 18:08:11\t23.9\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTAAVG1H\tNONE\t\t2006-01-02 18:08:11\t24.1\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTAMAX1H\tNONE\t\t2006-01-02 18:08:11\t24.4\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTAMIN1H\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTAAVG10M\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\tcOK\t\r\nMEAS\tStation01\t\t\tTAAVG60S\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\tcOK\t\r\n"; // string sExpected = "MEAS\tStation01\t\t\tPREC60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tSUNDUR24H\tNONE\t\t2006-01-02 18:08:11\t0\t0\tcOK\r\nMEAS\tStation01\t\t\tSUNDUR1H\tNONE\t\t2006-01-02 18:08:11\t0\t0\tcOK\r\nMEAS\tStation01\t\t\tSUNSTATE\tNONE\t\t2006-01-02 18:08:11\t-0.008\t0\tcOK\r\nMEAS\tStation01\t\t\tTENDENCY\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tppp\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFFAVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFFMAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFFMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFFAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFEAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFEMAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFEMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFEAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tPAAVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tPAMAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tPAMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tPAAVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tPAAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tDPAVG24H\tNONE\t\t2006-01-02 18:08:11\t-0.6\t0\tcOK\r\nMEAS\tStation01\t\t\tDPMAX24H\tNONE\t\t2006-01-02 18:08:11\t0.7\t0\tcOK\r\nMEAS\tStation01\t\t\tDPMIN24H\tNONE\t\t2006-01-02 18:08:11\t-1.8\t0\tcOK\r\nMEAS\tStation01\t\t\tDPAVG1H\tNONE\t\t2006-01-02 18:08:11\t-1.6\t0\tcOK\r\nMEAS\tStation01\t\t\tDPMAX1H\tNONE\t\t2006-01-02 18:08:11\t-1.4\t0\tcOK\r\nMEAS\tStation01\t\t\tDPMIN1H\tNONE\t\t2006-01-02 18:08:11\t-1.9\t0\tcOK\r\nMEAS\tStation01\t\t\tDPAVG10M\tNONE\t\t2006-01-02 18:08:11\t-1.8\t0\tcOK\r\nMEAS\tStation01\t\t\tDPAVRG60S\tNONE\t\t2006-01-02 18:08:11\t-1.9\t0\tcOK\r\nMEAS\tStation01\t\t\tRHAVG24H\tNONE\t\t2006-01-02 18:08:11\t19\t0\tcOK\r\nMEAS\tStation01\t\t\tRHMAX24H\tNONE\t\t2006-01-02 18:08:11\t22\t0\tcOK\r\nMEAS\tStation01\t\t\tRHMIN24H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tRHAVG1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tRHMAX1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tRHMIN1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tRHAVG10M\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tRHAVG60S\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tTG2AVG24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2MAX24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTGMIN24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2AVG12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2MAX12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2MIN12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2MIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2AVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2AVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1AVG24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MAX24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MIN24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MIN12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1AVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1AVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTAAVG24H\tNONE\t\t2006-01-02 18:08:11\t24.2\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMAX24H\tNONE\t\t2006-01-02 18:08:11\t24.8\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMIN24H\tNONE\t\t2006-01-02 18:08:11\t23.9\t0\tcOK\r\nMEAS\tStation01\t\t\tTAAVG12H\tNONE\t\t2006-01-02 18:08:11\t24.3\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMAX12H\tNONE\t\t2006-01-02 18:08:11\t24.8\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMIN12H\tNONE\t\t2006-01-02 18:08:11\t23.9\t0\tcOK\r\nMEAS\tStation01\t\t\tTAAVG1H\tNONE\t\t2006-01-02 18:08:11\t24.1\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMAX1H\tNONE\t\t2006-01-02 18:08:11\t24.4\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMIN1H\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\tcOK\r\nMEAS\tStation01\t\t\tTAAVG10M\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\tcOK\r\nMEAS\tStation01\t\t\tTAAVG60S\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\tcOK\r\n"; string sExpected = "MEAS\tStation01\t\t\tTAAVG60S\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\tcOK\r\nMEAS\tStation01\t\t\tTAAVG10M\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMIN1H\tNONE\t\t2006-01-02 18:08:11\t24.0\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMAX1H\tNONE\t\t2006-01-02 18:08:11\t24.4\t0\tcOK\r\nMEAS\tStation01\t\t\tTAAVG1H\tNONE\t\t2006-01-02 18:08:11\t24.1\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMIN12H\tNONE\t\t2006-01-02 18:08:11\t23.9\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMAX12H\tNONE\t\t2006-01-02 18:08:11\t24.8\t0\tcOK\r\nMEAS\tStation01\t\t\tTAAVG12H\tNONE\t\t2006-01-02 18:08:11\t24.3\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMIN24H\tNONE\t\t2006-01-02 18:08:11\t23.9\t0\tcOK\r\nMEAS\tStation01\t\t\tTAMAX24H\tNONE\t\t2006-01-02 18:08:11\t24.8\t0\tcOK\r\nMEAS\tStation01\t\t\tTAAVG24H\tNONE\t\t2006-01-02 18:08:11\t24.2\t0\tcOK\r\nMEAS\tStation01\t\t\tTG1AVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1AVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MIN12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MIN24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1MAX24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG1AVG24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2AVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2AVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2MIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2MAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2AVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2MIN12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2MAX12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2AVG12H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTGMIN24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2MAX24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTG2AVG24H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tRHAVG60S\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tRHAVG10M\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tRHMIN1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tRHMAX1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tRHAVG1H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tRHMIN24H\tNONE\t\t2006-01-02 18:08:11\t18\t0\tcOK\r\nMEAS\tStation01\t\t\tRHMAX24H\tNONE\t\t2006-01-02 18:08:11\t22\t0\tcOK\r\nMEAS\tStation01\t\t\tRHAVG24H\tNONE\t\t2006-01-02 18:08:11\t19\t0\tcOK\r\nMEAS\tStation01\t\t\tDPAVRG60S\tNONE\t\t2006-01-02 18:08:11\t-1.9\t0\tcOK\r\nMEAS\tStation01\t\t\tDPAVG10M\tNONE\t\t2006-01-02 18:08:11\t-1.8\t0\tcOK\r\nMEAS\tStation01\t\t\tDPMIN1H\tNONE\t\t2006-01-02 18:08:11\t-1.9\t0\tcOK\r\nMEAS\tStation01\t\t\tDPMAX1H\tNONE\t\t2006-01-02 18:08:11\t-1.4\t0\tcOK\r\nMEAS\tStation01\t\t\tDPAVG1H\tNONE\t\t2006-01-02 18:08:11\t-1.6\t0\tcOK\r\nMEAS\tStation01\t\t\tDPMIN24H\tNONE\t\t2006-01-02 18:08:11\t-1.8\t0\tcOK\r\nMEAS\tStation01\t\t\tDPMAX24H\tNONE\t\t2006-01-02 18:08:11\t0.7\t0\tcOK\r\nMEAS\tStation01\t\t\tDPAVG24H\tNONE\t\t2006-01-02 18:08:11\t-0.6\t0\tcOK\r\nMEAS\tStation01\t\t\tPAAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tPAAVG10M\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tPAMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tPAMAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tPAAVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFEAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFEMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFEMAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFEAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFFAVG60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFFMIN1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFFMAX1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tQFFAVG1H\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tppp\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tTENDENCY\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\nMEAS\tStation01\t\t\tSUNSTATE\tNONE\t\t2006-01-02 18:08:11\t-0.008\t0\tcOK\r\nMEAS\tStation01\t\t\tSUNDUR1H\tNONE\t\t2006-01-02 18:08:11\t0\t0\tcOK\r\nMEAS\tStation01\t\t\tSUNDUR24H\tNONE\t\t2006-01-02 18:08:11\t0\t0\tcOK\r\nMEAS\tStation01\t\t\tPREC60S\tNONE\t\t2006-01-02 18:08:11\t/\t1\tcNOT_OK\r\n"; string tmp = MeasMsgFormatter.FormatMeasMsg(measMsg3); Assert.True(tmp == sExpected); string tmp5 = MeasMsgFormatter.FormatMeasMsgInReverse(measMsg3); }
public void GetMeasByName() { var s = GetTestMeasMsg; var measMsg = new MeasMsg(); Assert.True(measMsg.Initialise(s)); Assert.True(measMsg.Count == 9); Meas m = new Meas(); Assert.True(measMsg.GetMeasByName("TA", ref m)); Assert.True(m.ObsValue == "0"); Assert.True(measMsg.GetMeasByName("PA", ref m)); Assert.True(m.ObsValue == "1008.42"); Assert.False(measMsg.GetMeasByName("hafhafdghadfh", ref m)); double paValue = -1; Assert.True(measMsg.GetNumericObsValueByName("PA", ref paValue)); Assert.True(paValue == 1008.42); Assert.False(measMsg.GetNumericObsValueByName("XX", ref paValue)); }