예제 #1
0
        public void Creation()
        {
            Exception raisedException = null;
            ReportStatus status = ReportStatus.Create(raisedException);
            AssertEx.That(status is ReportStatus.Success, Is.True());

            raisedException = new AssertException("Assert Exception");
            status = ReportStatus.Create(raisedException);
            AssertEx.That(status is ReportStatus.Failed, Is.True());

            raisedException = new NullReferenceException("Other Exception");
            status = ReportStatus.Create(raisedException);
            AssertEx.That(status is ReportStatus.Error, Is.True());
        }
예제 #2
0
        public void MessageCreation()
        {
            MethodInfo testMethod = typeof(TestClass).GetMethod("TestName");
            Exception raisedException = new AssertException("Exception Text");

            Report report = new MethodReport(testMethod, raisedException);
            AssertEx.That(report.Text, Is.EqualTo("The TestName-Method failed: " + raisedException.Message));

            raisedException = new NullReferenceException("Null reference");
            report = new MethodReport(testMethod, raisedException);
            AssertEx.That(report.Text, Is.EqualTo("The TestName-Method threw an unexpected exception: " + raisedException.Message));

            report = new MethodReport(testMethod);
            AssertEx.That(report.Text, Is.EqualTo("The TestName-Method passed successfully."));
        }
예제 #3
0
        public void Creation()
        {
            IDescription description = new StringDescription(new StringBuilder("description"));
            IDescription missmatchDescription = new StringDescription(new StringBuilder("was missmatch"));

            AssertException e = new AssertException();
            AssertEx.That(e.Message, Is.EqualTo(""));

            e = new AssertException("Test");
            AssertEx.That(e.Message, Is.EqualTo("Test"));

            e = new AssertException(description, missmatchDescription);
            AssertEx.That(e.Message, Is.EqualTo("Expected is description, but was missmatch."));

            e = new AssertException(description, missmatchDescription, "Custom message.");
            AssertEx.That(e.Message, Is.EqualTo("Custom message.\nExpected: description\nBut was missmatch"));
        }
예제 #4
0
        public void EqualsAndHashCode()
        {
            AssertException exception = new AssertException("Exception text.");

            //Using IsTrue/IsFalse to cover all paths (aren't covered, when using Equals)
            //Equal tests
            Assert.IsTrue(exception.Equals(exception), "An object should allways be equal to itself (reference).");
            AssertEx.That(exception.GetHashCode(), Is.EqualTo(exception.GetHashCode()), "Equal objects should have equal hashcodes.");

            AssertException equal = new AssertException("Exception text.");
            Assert.IsTrue(exception.Equals(equal), "An object should be equal to an object with the same attributes.");
            AssertEx.That(exception.GetHashCode(), Is.EqualTo(equal.GetHashCode()), "Equal objects should have equal hashcodes.");

            //Unequal tests
            Assert.IsFalse(exception.Equals(null), "An object shouldn't be equal to null.");

            object unequal = new object();
            Assert.IsFalse(exception.Equals(unequal), "An object shouldn't be equal to an object of an other type.");
            AssertEx.That(exception.GetHashCode(), Is.Not(unequal.GetHashCode()), "Unequal objects shouldn't have equal hashcodes.");

            unequal = new AssertException("Unequal exception text.");
            Assert.IsFalse(exception.Equals(unequal), "An object shouldn't be equal to an object of an other type.");
            AssertEx.That(exception.GetHashCode(), Is.Not(unequal.GetHashCode()), "Unequal objects shouldn't have equal hashcodes.");
        }
예제 #5
0
        public void Creation()
        {
            MethodInfo testMethod = typeof(TestClass).GetMethod("TestName");
            Exception raisedException = new AssertException("Exception Text");

            Report report = new MethodReport(testMethod, raisedException);
            AssertEx.That(report.TestClass, Is.EqualTo(typeof(TestClass)));
            AssertEx.That(report.Status is ReportStatus.Failed, Is.True());

            //Check that a report can be created with other JUUTMethodAttributes
            report = new MethodReport(typeof(TestClass).GetMethod("SetUp"), raisedException);

            //This allows to create a test method report without a raised exception
            report = new MethodReport(testMethod);
            AssertEx.That(report.TestClass, Is.EqualTo(typeof(TestClass)));
            AssertEx.That(report.Status is ReportStatus.Success, Is.True());

            testMethod = new DynamicMethod("Foo", null, null);
            AssertEx.That(() => { new MethodReport(testMethod, raisedException); }, Throws.An<ArgumentException>());
            AssertEx.That(() => { new MethodReport(testMethod); }, Throws.An<ArgumentException>());

            AssertEx.That(() => { new MethodReport(null, raisedException); }, Throws.An<ArgumentException>());
            AssertEx.That(() => { new MethodReport(null); }, Throws.An<ArgumentException>());
        }
예제 #6
0
        public void Name()
        {
            Exception raisedException = null;
            ReportStatus status = ReportStatus.Create(raisedException);
            AssertEx.That(status.Name, Is.EqualTo("Success"));

            raisedException = new AssertException("Assert Exception");
            status = ReportStatus.Create(raisedException);
            AssertEx.That(status.Name, Is.EqualTo("Failed"));

            raisedException = new NullReferenceException("Other Exception");
            status = ReportStatus.Create(raisedException);
            AssertEx.That(status.Name, Is.EqualTo("Error"));

            status = new ReportStatus.NotRunned();
            AssertEx.That(status.Name, Is.EqualTo("Not Runned"));
        }
예제 #7
0
 private bool Equals(AssertException other)
 {
     return Message.Equals(other.Message);
 }