Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        } // 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");
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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));
        }