Пример #1
0
        public void IsMatchTest()
        {
            {
                CustomFilter target = new CustomFilter
                {
                    name      = "clonetrue",
                    parameter = null
                };

                SyslogMessage message  = new SyslogMessage(); //Empty is ok
                bool          expected = true;
                bool          actual;
                actual = target.IsMatch(message);
                Assert.AreEqual(expected, actual);
            }

            {
                CustomFilter target = new CustomFilter
                {
                    name      = "clonefalse",
                    parameter = null
                };

                SyslogMessage message  = new SyslogMessage(); //Empty is ok
                bool          expected = false;
                bool          actual;
                actual = target.IsMatch(message);
                Assert.AreEqual(expected, actual);
            }

            {
                CustomFilter target = new CustomFilter
                {
                    name      = "char",
                    parameter = new FilterParameter[2]
                };
                target.parameter[0] = new FilterParameter
                {
                    name  = "char",
                    value = "3"
                };
                target.parameter[1] = new FilterParameter
                {
                    name  = "index",
                    value = "1"
                };

                SyslogMessage message = new SyslogMessage
                {
                    Text = "H3llo world!"
                };

                bool expected = true;
                bool actual;
                actual = target.IsMatch(message);
                Assert.AreEqual(expected, actual);

                TestContext.WriteLine("CharInMessage is represented by the following markup (basing on FilterBase)");
                XmlSerializer seria = new XmlSerializer(typeof(FilterBase));
                using (MemoryStream ms = new MemoryStream())
                {
                    seria.Serialize(ms, target, target.xmlns);
                    ms.Flush();
                    ms.Seek(0, SeekOrigin.Begin);
                    TestContext.WriteLine(Encoding.Default.GetString(ms.ToArray()));
                }
                TestContext.WriteLine("CharInMessage is represented by the following markup (basing on FilterBase)");
                seria = new XmlSerializer(typeof(CustomFilter));
                using (MemoryStream ms = new MemoryStream())
                {
                    seria.Serialize(ms, target, target.xmlns);
                    ms.Flush();
                    ms.Seek(0, SeekOrigin.Begin);
                    TestContext.WriteLine(Encoding.Default.GetString(ms.ToArray()));
                }
            }

            {
                CustomFilter target = new CustomFilter
                {
                    name      = "char",
                    parameter = new FilterParameter[2]
                };
                target.parameter[0] = new FilterParameter
                {
                    name  = "char",
                    value = "3"
                };
                target.parameter[1] = new FilterParameter
                {
                    name  = "index",
                    value = "1"
                };

                SyslogMessage message = new SyslogMessage
                {
                    Text = "Hello world!"
                };

                bool expected = false;
                bool actual;
                actual = target.IsMatch(message);
                Assert.AreEqual(expected, actual);
            }
        }