public void TestTrueCustomMessage()
        {
            var verifier  = new MSTestVerifier();
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.True(false, "Custom message"));

            Assert.AreEqual($"Assert.IsTrue failed. Custom message", exception.Message);
        }
        public void TestLanguageIsSupportedMessageWithContext()
        {
            var verifier  = new MSTestVerifier().PushContext("Known Context");
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.LanguageIsSupported("NonLanguage"));

            Assert.AreEqual($"Assert.IsFalse failed. Context: Known Context{Environment.NewLine}Unsupported Language: 'NonLanguage'", exception.Message);
        }
        public void TestTrueMessageWithContext()
        {
            var verifier  = new MSTestVerifier().PushContext("Known Context");
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.True(false));

            Assert.AreEqual($"Assert.IsTrue failed. Context: Known Context{Environment.NewLine}", exception.Message);
        }
        public void TestLanguageIsSupportedMessage()
        {
            var verifier  = new MSTestVerifier();
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.LanguageIsSupported("NonLanguage"));

            Assert.AreEqual($"Assert.IsFalse failed. Unsupported Language: 'NonLanguage'", exception.Message);
        }
        public void TestFailCustomMessageWithContext()
        {
            var verifier  = new MSTestVerifier().PushContext("Known Context");
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.Fail("Custom message"));

            Assert.AreEqual($"Assert.Fail failed. Context: Known Context{Environment.NewLine}Custom message", exception.Message);
        }
        public void TestFailCustomMessage()
        {
            var verifier  = new MSTestVerifier();
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.Fail("Custom message"));

            Assert.AreEqual($"Assert.Fail failed. Custom message", exception.Message);
        }
        public void TestFalseMessage()
        {
            var verifier  = new MSTestVerifier();
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.False(true));

            Assert.AreEqual($"Assert.IsFalse failed. ", exception.Message);
        }
        public void TestEmptyMessageWithContext()
        {
            var actual    = new int[1];
            var verifier  = new MSTestVerifier().PushContext("Known Context");
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.Empty("someCollectionName", actual));

            Assert.AreEqual($"Assert.IsFalse failed. Context: Known Context{Environment.NewLine}expected 'someCollectionName' to be empty, contains '1' elements", exception.Message);
        }
        public void TestNotEmptyMessage()
        {
            var actual    = new int[0];
            var verifier  = new MSTestVerifier();
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.NotEmpty("someCollectionName", actual));

            Assert.AreEqual($"Assert.IsTrue failed. expected 'someCollectionName' to be non-empty, contains", exception.Message);
        }
        public void TestEmptyMessage()
        {
            var actual    = new int[1];
            var verifier  = new MSTestVerifier();
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.Empty("someCollectionName", actual));

            Assert.AreEqual("Assert.IsFalse failed. expected 'someCollectionName' to be empty, contains '1' elements", exception.Message);
        }
        public void TestEqualCustomMessageWithContext()
        {
            var expected  = 0;
            var actual    = 1;
            var verifier  = new MSTestVerifier().PushContext("Known Context");
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.Equal(expected, actual, "Custom message"));

            Assert.AreEqual($"Assert.AreEqual failed. Expected:<0>. Actual:<1>. Context: Known Context{Environment.NewLine}Custom message", exception.Message);
        }
        public void TestEqualCustomMessage()
        {
            var expected  = 0;
            var actual    = 1;
            var verifier  = new MSTestVerifier();
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.Equal(expected, actual, "Custom message"));

            Assert.AreEqual($"Assert.AreEqual failed. Expected:<0>. Actual:<1>. Custom message", exception.Message);
        }
        public void TestSequenceEqualCustomMessageWithContext()
        {
            var expected  = new int[] { 0 };
            var actual    = new int[] { 1 };
            var verifier  = new MSTestVerifier().PushContext("Known Context");
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.SequenceEqual(expected, actual, message: "Custom message"));

            Assert.AreEqual($"Assert.Fail failed. Context: Known Context{Environment.NewLine}Custom message", exception.Message);
        }
        public void TestSequenceEqualCustomMessage()
        {
            var expected  = new int[] { 0 };
            var actual    = new int[] { 1 };
            var verifier  = new MSTestVerifier();
            var exception = Assert.ThrowsException <AssertFailedException>(() => verifier.SequenceEqual(expected, actual, message: "Custom message"));

            Assert.AreEqual($"Assert.Fail failed. Custom message", exception.Message);
        }