public void Parse_ValidMessage_ParsesSyslogMessage(SampleMessage testCase)
        {
            var target        = new RegexSyslogMessageParser();
            var actualMessage = target.Parse(testCase.GetMessageBytes());

            AssertEqual(testCase.ExpectedMessage, actualMessage);
        }
        public void TryParse_NullMessage_ReturnsFalse()
        {
            var target = new RegexSyslogMessageParser();

            SyslogMessage syslogMessage;

            Assert.False(target.TryParse(null, out syslogMessage));
            Assert.Null(syslogMessage);
        }
        public void TryParse_InvalidMessage_ReturnsFalse()
        {
            var target = new RegexSyslogMessageParser();

            SyslogMessage syslogMessage;

            Assert.False(target.TryParse(Encoding.UTF8.GetBytes("Not a valid message"), out syslogMessage));
            Assert.Null(syslogMessage);
        }
        public void TryParse_ValidMessage_ParsesSyslogMessage(SampleMessage testCase)
        {
            var           target = new RegexSyslogMessageParser();
            SyslogMessage actualMessage;

            Assert.True(target.TryParse(testCase.GetMessageBytes(), out actualMessage));

            AssertEqual(testCase.ExpectedMessage, actualMessage);
        }
        public void Parse_ValidStructuredData_ParsesStructuredDataElement(SampleStructuredData testCase)
        {
            var expected = testCase.ExpectedStructuredDataElements;
            var target   = new RegexSyslogMessageParser();
            var regex    = new Regex(RegexSyslogMessageParser.StructuredDataPattern, RegexSyslogMessageParser.Flags, TimeSpan.FromSeconds(1));
            var match    = regex.Match(testCase.RawStructuredData);
            var actual   = target.ParseStructuredData(match).ToList();

            AssertEqual(expected, actual);
        }
        public void Parse_InvalidMessage_ThrowsException()
        {
            var target = new RegexSyslogMessageParser();

            Assert.Throws <InvalidOperationException>(() => target.Parse(Encoding.UTF8.GetBytes("Not a valid message")));
        }