Example #1
0
        public void SetUp()
        {
            theStatus = new TestStatusMessage();
            theStatusIs(theStatus);

            theBar = new TestStatusBar(theStatus);
        }
        public void CanCreateTestEndMessage()
        {
            const string        name    = "Test1";
            const TestStateEnum state   = TestStateEnum.Failure;
            const string        message = "epic failure";
            const int           durationMicroseconds = 123456;
            const string        stackTrace           = "f1\\nf2";
            const string        className            = "SomeClazz";
            var testInfo = new TestInfo(
                name,
                state,
                message,
                durationMicroseconds,
                stackTrace,
                className
                );

            var msg = TestStatusMessage.CreateTestEndMesssage(testInfo);

            Assert.That(msg.Is(TestStatusMessage.MessageType));
            Assert.That(msg["name"], Is.EqualTo(name));
            Assert.That(msg["phase"], Is.EqualTo(Message.EndPhase));
            Assert.That(msg["state"], Is.EqualTo((int)TestStateEnum.Failure));
            Assert.That(msg["duration"], Is.EqualTo(durationMicroseconds / 1000));
            Assert.That(msg["durationMicroseconds"], Is.EqualTo(durationMicroseconds));
            Assert.That(msg["stackTrace"], Is.EqualTo(stackTrace));
            Assert.That(msg["classname"], Is.EqualTo(className));
        }
        public void starting_from_no_state_get_the_test_status()
        {
            TestStatusMessage status = ClassUnderTest.GetStatus();

            status.IsRunning.ShouldBeFalse();
            status.Status.ShouldBeNull();
        }
Example #4
0
 protected override void theStatusIs(TestStatusMessage message)
 {
     message.Counts          = new Counts();
     message.CompletedSteps  = 5;
     message.TotalSteps      = 15;
     message.TestPath        = "the path of something";
     message.CurrentActivity = "the current activity";
     message.IsRunning       = true;
 }
        public void CanCreateTestStartMessage()
        {
            var msg = TestStatusMessage.CreateTestStartMesssage("Test1");

            Assert.That(msg.messageType, Is.EqualTo(TestStatusMessage.MessageType));
            Assert.That(msg["name"], Is.EqualTo("Test1"));
            Assert.That(msg["state"], Is.EqualTo((int)TestStateEnum.Inconclusive));
            Assert.That(msg.phase, Is.EqualTo(Message.BeginPhase));
        }
Example #6
0
        private Message TestStarted(XmlNode testEvent)
        {
            var testName = testEvent.Attributes["fullname"].Value;

            var id = testEvent.Attributes["id"].Value;

            m_StartedTests.Add(id);

            return(TestStatusMessage.CreateTestStartMesssage(testName));
        }
Example #7
0
        protected override void theStatusIs(TestStatusMessage message)
        {
            message.Counts = new Counts
            {
                Rights = 5
            };
            message.Counts.WasSuccessful().ShouldBeTrue();

            message.CompletedSteps  = 5;
            message.TotalSteps      = 15;
            message.TestPath        = "the path of something";
            message.CurrentActivity = "the current activity";
            message.IsRunning       = true;
        }
        public void get_status_from_the_current_progression_after_a_new_test_is_started()
        {
            var test = new Test("something")
            {
                LastResult = new TestResult()
                {
                    Counts = new Counts()
                }
            };

            test.LastResult.Counts.IncrementRights();

            ClassUnderTest.CallOn <ITestObserver>(x => x.StartTest(test, test.LastResult.Counts));

            TestStatusMessage status = ClassUnderTest.GetStatus();

            status.IsRunning.ShouldBeTrue();
        }
        public void get_status_after_starting_and_ending_a_test()
        {
            var test = new Test("something")
            {
                LastResult = new TestResult()
                {
                    Counts = new Counts()
                }
            };

            test.LastResult.Counts.IncrementRights();

            ClassUnderTest.CallOn <ITestObserver>(x => x.StartTest(test, test.LastResult.Counts));
            ClassUnderTest.CallOn <ITestObserver>(x => x.FinishTest(test));

            TestStatusMessage status = ClassUnderTest.GetStatus();

            status.IsRunning.ShouldBeFalse();
        }
        public void get_the_status_when_nothing_is_running_and_a_prior_test_result()
        {
            var test = new Test("something")
            {
                LastResult = new TestResult()
                {
                    Counts = new Counts()
                }
            };

            test.LastResult.Counts.IncrementRights();

            ClassUnderTest.CallOn <ITestObserver>(x => x.FinishTest(test));

            TestStatusMessage status = ClassUnderTest.GetStatus();

            status.TestPath.ShouldEqual(test.LocatorPath());
            status.IsRunning.ShouldBeFalse();
            status.Status.ShouldEqual(test.GetStatus());
        }
Example #11
0
        private IEnumerable <Message> TestFinished(XmlNode testEvent)
        {
            var testName   = testEvent.Attributes["fullname"].Value;
            var state      = GetTestResultState(testEvent);
            var message    = GetMessage(testEvent);
            var duration   = GetDurationInMicroseconds(testEvent);
            var stackTrace = GetStackTrace(testEvent);
            var className  = testEvent.Attributes["classname"]?.Value ?? string.Empty;

            var id = testEvent.Attributes["id"].Value;

            if (!m_StartedTests.Contains(id))
            {
                yield return(TestStarted(testEvent));
            }

            var testInfo = new TestInfo(testName, state, message, duration, stackTrace, className);

            m_StartedTests.Remove(id);
            yield return(TestStatusMessage.CreateTestEndMesssage(testInfo));
        }
Example #12
0
 protected override void theStatusIs(TestStatusMessage message)
 {
     message.IsRunning = false;
     message.TestPath  = null;
 }
Example #13
0
 protected override void theStatusIs(TestStatusMessage message)
 {
     message.IsRunning = false;
     message.TestPath  = "Suite/Child/Test1";
     message.Status    = "the last status";
 }
Example #14
0
 protected abstract void theStatusIs(TestStatusMessage message);
Example #15
0
        public static Color GetColor(this TestStatusMessage message)
        {
            if (!message.Counts.HasResult()) return Colors.Silver;

            return message.Counts.WasSuccessful() ? Colors.LightGreen : Colors.LightPink;
        }