public void ShouldNotAffectOutputByDefault()
        {
            using (var console = new RedirectedConsole())
            {
                var listener = new ConsoleListener();

                typeof(SampleTestClass).Run(listener, SelfTestConvention.Build());

                console
                .Output.Split(new[] { Environment.NewLine }, StringSplitOptions.None)
                .Select(CleanBrittleValues)
                .ShouldEqual(
                    "------ Testing Assembly Fixie.Tests.dll ------",
                    "",
                    "Test 'Fixie.Tests.AssertionLibraryFilteringTests+SampleTestClass.DivideByZero' failed: System.DivideByZeroException",
                    "Attempted to divide by zero.",
                    "   at Fixie.Tests.AssertionLibraryFilteringTests.SampleTestClass.DivideByZero() in " + PathToThisFile() + ":line #",
                    "",
                    "Test 'Fixie.Tests.AssertionLibraryFilteringTests+SampleTestClass.FailedAssertion' failed: Fixie.Tests.SampleAssertionLibrary.AssertionException",
                    "Expected 1, but was 0.",
                    "   at Fixie.Tests.SampleAssertionLibrary.SampleAssert.AreEqual(Int32 expected, Int32 actual) in " + PathToThisFile() + ":line #",
                    "   at Fixie.Tests.AssertionLibraryFilteringTests.SampleTestClass.FailedAssertion() in " + PathToThisFile() + ":line #",
                    "",
                    "0 passed, 2 failed, took 1.23 seconds (Fixie 1.2.3.4).",
                    "",
                    "");
            }
        }
        public void ShouldFilterAssertionLibraryImplementationDetailsWhenLibraryTypesAreSpecified()
        {
            using (var console = new RedirectedConsole())
            {
                var listener = new ConsoleListener();

                var convention = SelfTestConvention.Build();

                convention
                .HideExceptionDetails
                .For <SampleAssertionLibrary.AssertionException>()
                .For(typeof(SampleAssertionLibrary.SampleAssert));

                typeof(SampleTestClass).Run(listener, convention);

                console
                .Output.Split(new[] { Environment.NewLine }, StringSplitOptions.None)
                .Select(CleanBrittleValues)
                .ShouldEqual(
                    "------ Testing Assembly Fixie.Tests.dll ------",
                    "",
                    "Test 'Fixie.Tests.AssertionLibraryFilteringTests+SampleTestClass.DivideByZero' failed: System.DivideByZeroException",
                    "Attempted to divide by zero.",
                    "   at Fixie.Tests.AssertionLibraryFilteringTests.SampleTestClass.DivideByZero() in " + PathToThisFile() + ":line #",
                    "",
                    "Test 'Fixie.Tests.AssertionLibraryFilteringTests+SampleTestClass.FailedAssertion' failed: ",
                    "Expected 1, but was 0.",
                    "   at Fixie.Tests.AssertionLibraryFilteringTests.SampleTestClass.FailedAssertion() in " + PathToThisFile() + ":line #",
                    "",
                    "0 passed, 2 failed, took 1.23 seconds (Fixie 1.2.3.4).",
                    "",
                    "");
            }
        }
Exemple #3
0
        public void ShouldFilterAssertionLibraryImplementationDetailsWhenLibraryNamespacesAreSpecified()
        {
            using (var console = new RedirectedConsole())
            {
                var listener = new ConsoleListener();

                var convention = new SelfTestConvention();

                convention
                .AssertionLibrary
                .Namespace(typeof(SampleAssert).Namespace);

                convention.Execute(listener, typeof(SampleTestClass));

                console
                .Output.Split(new[] { Environment.NewLine }, StringSplitOptions.None)
                .Select(x => Regex.Replace(x, @":line \d+", ":line #"))     //Avoid brittle assertion introduced by stack trace line numbers.
                .ShouldEqual(
                    "Test 'Fixie.Tests.AssertionLibraryFilteringTests+SampleTestClass.DivideByZero' failed: System.DivideByZeroException",
                    "Attempted to divide by zero.",
                    "   at Fixie.Tests.AssertionLibraryFilteringTests.SampleTestClass.DivideByZero() in " + PathToThisFile() + ":line #",
                    "",
                    "Test 'Fixie.Tests.AssertionLibraryFilteringTests+SampleTestClass.FailedAssertion' failed: ",
                    "Expected 1, but was 0.",
                    "   at Fixie.Tests.AssertionLibraryFilteringTests.SampleTestClass.FailedAssertion() in " + PathToThisFile() + ":line #",
                    "",
                    "");
            }
        }