示例#1
0
        public void EscapedCharacterTest()
        {
            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "Hello Wor/d!"
                    );

                // First result, expect no messages in result.
                Assert.IsFalse(result.Success);
                Assert.IsEmpty(result.Message);
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    @"s/Wor\/d/World"
                    );

                Assert.IsTrue(result.Success);
                Assert.IsNotEmpty(result.Message);
                Assert.IsTrue(result.Message.Contains("Hello World!"));
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    @"s/\//l"
                    );

                Assert.IsTrue(result.Success);
                Assert.IsNotEmpty(result.Message);
                Assert.IsTrue(result.Message.Contains("Hello World!"));
            }
        }
示例#2
0
        public void BadRegexTest()
        {
            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "Hello World!"
                    );

                // First result, expect no messages in result.
                Assert.IsFalse(result.Success);
                Assert.IsEmpty(result.Message);
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "s/[]/J"
                    );

                Assert.IsFalse(result.Success);
                Assert.IsNotEmpty(result.Message);
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "s/(/J"
                    );

                Assert.IsFalse(result.Success);
                Assert.IsNotEmpty(result.Message);
            }
        }
示例#3
0
        public void RegexTest()
        {
            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "Hello World!"
                    );

                // First result, expect no messages in result.
                Assert.IsFalse(result.Success);
                Assert.IsEmpty(result.Message);
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "s/.+/Goodbye Earth!"
                    );

                Assert.IsTrue(result.Success);
                Assert.IsNotEmpty(result.Message);
                Assert.IsTrue(result.Message.Contains("Goodbye Earth!"));
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "s/[h]/J"
                    );

                Assert.IsTrue(result.Success);
                Assert.IsNotEmpty(result.Message);
                Assert.IsTrue(result.Message.Contains("Jello World!"));
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "s/(H|W)/M"
                    );

                Assert.IsTrue(result.Success);
                Assert.IsNotEmpty(result.Message);
                Assert.IsTrue(result.Message.Contains("Mello Morld!"));
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    @"s/\s+/_"
                    );

                Assert.IsTrue(result.Success);
                Assert.IsNotEmpty(result.Message);
                Assert.IsTrue(result.Message.Contains("Hello_World!"));
            }
        }
示例#4
0
        public void NoExistingMessageTest()
        {
            MessageFixerResult result = this.uut.RecordNewMessage(
                remoteUser,
                "s/hello/world"
                );

            // Expect failure, but we want to tell the user they send a previous message.
            Assert.IsFalse(result.Success);
            Assert.IsNotEmpty(result.Message);
        }
示例#5
0
        public void IgnoreCaseTest()
        {
            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "Hello World!"
                    );

                // First result, expect no messages in result.
                Assert.IsFalse(result.Success);
                Assert.IsEmpty(result.Message);
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "s/world/there"
                    );

                Assert.IsTrue(result.Success);
                Assert.IsNotEmpty(result.Message);
                Assert.IsTrue(result.Message.Contains("Hello there!"));
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "s/WORLD/Mars"
                    );

                Assert.IsTrue(result.Success);
                Assert.IsNotEmpty(result.Message);
                Assert.IsTrue(result.Message.Contains("Hello Mars!"));
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "s/World/Earth"
                    );

                Assert.IsTrue(result.Success);
                Assert.IsNotEmpty(result.Message);
                Assert.IsTrue(result.Message.Contains("Hello Earth!"));
            }
        }
示例#6
0
        public void NoMatchThenMatchTest()
        {
            const string message = "I am a loser!";
            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    message
                    );

                // First result, expect no messages in result.
                Assert.IsFalse(result.Success);
                Assert.IsEmpty(result.Message);

                // Last message should be added.
                Assert.AreEqual(message, this.uut.LastMessages[remoteUser]);
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "s/hello/world"
                    );

                // Expect failure, but we want to tell the user they send a previous message.
                Assert.IsFalse(result.Success);
                Assert.IsNotEmpty(result.Message);

                // Last message should not be changed... s/ doesn't change the previous message.
                Assert.AreEqual(message, this.uut.LastMessages[remoteUser]);
            }

            {
                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    "s/loser/winner"
                    );

                // For the third result, we expect success.
                Assert.IsTrue(result.Success);
                Assert.IsNotEmpty(result.Message);
                Assert.IsTrue(result.Message.Contains("I am a winner!"));

                // Last message should not be changed... s/ doesn't change the previous message.
                Assert.AreEqual(message, this.uut.LastMessages[remoteUser]);
            }

            {
                const string msg = "s/hello/world/"; // Trailing '/', should not match.

                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    msg
                    );

                // Expect failure, with no message (didn't match).
                Assert.IsFalse(result.Success);
                Assert.IsEmpty(result.Message);

                // Last message should be updated.
                Assert.AreEqual(msg, this.uut.LastMessages[remoteUser]);
            }

            {
                const string msg = "/s/hello/world"; // Starting '/', should not match.

                MessageFixerResult result = this.uut.RecordNewMessage(
                    remoteUser,
                    msg
                    );

                // Expect failure, with no message (didn't match).
                Assert.IsFalse(result.Success);
                Assert.IsEmpty(result.Message);

                // Last message should not be changed... s/ doesn't change the previous message.
                Assert.AreEqual(msg, this.uut.LastMessages[remoteUser]);
            }
        }