Example #1
0
        public void RenderExpected_MoreThanSampleRowsAndMaxRowsCountWithSpecificFailureReportProfile_ReturnEachRowAndHeaderAndSeparation()
        {
            var rowCount  = 120;
            var threshold = rowCount - 20;
            var max       = threshold / 2;

            var list = new List <string>();

            for (int i = 0; i < rowCount; i++)
            {
                list.Add(String.Format("Item {0:00}", i));
            }

            var profile = Mock.Of <IFailureReportProfile>(p =>
                                                          p.MaxSampleItem == max &&
                                                          p.ThresholdSampleItem == threshold &&
                                                          p.ExpectedSet == FailureReportSetType.Sample
                                                          );

            var msg = new ItemsMessage(profile);

            msg.Build(list, null, null);
            var value = msg.RenderExpected();
            var lines = value.Replace("\n", string.Empty).Split('\r');


            Assert.That(lines.Count(l => l.Contains("*")), Is.EqualTo(max));
        }
Example #2
0
        public void RenderExpected_LessThanMaxRowsCount_DoesntDisplaySkippedRow(int rowCount)
        {
            var list = new List<string>();
            for (int i = 0; i < rowCount; i++)
                list.Add(String.Format("Item {0:00}", i));

            var msg = new ItemsMessage(FailureReportProfile.Default);
            msg.Build(list, null, null);
            var value = msg.RenderExpected();

            Assert.That(value, Is.Not.StringContaining(" others not displayed."));
        }
Example #3
0
        protected ItemsMessage BuildFailure()
        {
            var msg     = new ItemsMessage(Configuration.FailureReportProfile);
            var compare = new ListComparer()
                          .Compare
                          (
                ExpectedItems
                , ((MemberResult)actual).ToCaptions()
                , GetComparisonType()
                          );

            msg.Build(ExpectedItems, ((MemberResult)actual).ToCaptions(), compare);
            return(msg);
        }
Example #4
0
        public void RenderExpected_OneRow_ReturnCorrectNumberOfRowsOnTopWithoutPlurial()
        {
            var list = new List <string>();

            list.Add("Item 01");

            var msg = new ItemsMessage(FailureReportProfile.Default);

            msg.Build(list, null, null);
            var value     = msg.RenderExpected();
            var lines     = value.Replace("\n", string.Empty).Split('\r');
            var firstLine = lines[0];

            Assert.That(firstLine, Is.EqualTo("Set of 1 item"));
        }
Example #5
0
        public void RenderExpected_MoreThanMaxRowsCount_ReturnCorrectCountOfSkippedRow()
        {
            var list = new List<string>();
            for (int i = 0; i < 22; i++)
                list.Add(String.Format("Item {0:00}", i));

            var msg = new ItemsMessage(FailureReportProfile.Default);
            msg.Build(list, null, null);
            var value = msg.RenderExpected();
            var lines = value.Replace("\n", string.Empty).Split('\r');
            //Not exactly the last line but the previous due to paragraph rendering.
            var lastLine = lines.Reverse().ElementAt(1);

            Assert.That(lastLine, Is.EqualTo("... and 12 others not displayed."));
        }
Example #6
0
        public void RenderExpected_LessThanMaxRowsCount_DoesntDisplaySkippedRow(int rowCount)
        {
            var list = new List <string>();

            for (int i = 0; i < rowCount; i++)
            {
                list.Add(String.Format("Item {0:00}", i));
            }

            var msg = new ItemsMessage(FailureReportProfile.Default);

            msg.Build(list, null, null);
            var value = msg.RenderExpected();

            Assert.That(value, Is.Not.StringContaining(" others not displayed."));
        }
Example #7
0
        public void RenderCompared_WithSpecialRows_DisplayTextForThisKindOfRows(
            int missingRowCount
            , int unexpectedRowCount
            , string expectedText)
        {
            var compared = new ListComparer.Result(
                    GetDataRows(missingRowCount)
                    , GetDataRows(unexpectedRowCount)
                );

            var msg = new ItemsMessage(FailureReportProfile.Default);
            msg.Build(null, null, compared);
            var value = msg.RenderCompared();

            Assert.That(value, Is.StringContaining(expectedText));
        }
Example #8
0
        public void RenderCompared_WithSpecialRows_DisplayTextForThisKindOfRows(
            int missingRowCount
            , int unexpectedRowCount
            , string expectedText)
        {
            var compared = new ListComparer.Result(
                GetDataRows(missingRowCount)
                , GetDataRows(unexpectedRowCount)
                );

            var msg = new ItemsMessage(FailureReportProfile.Default);

            msg.Build(null, null, compared);
            var value = msg.RenderCompared();

            Assert.That(value, Is.StringContaining(expectedText));
        }
Example #9
0
        public void RenderExpected_MoreThanMaxRowsCount_ReturnSampleRowsCountAndHeaderAndSeparation()
        {
            var list = new List <string>();

            for (int i = 0; i < 20; i++)
            {
                list.Add(String.Format("Item {0:00}", i));
            }

            var msg = new ItemsMessage(FailureReportProfile.Default);

            msg.Build(list, null, null);
            var value = msg.RenderExpected();
            var lines = value.Replace("\n", string.Empty).Split('\r');


            Assert.That(lines.Count(l => l.Contains("*")), Is.EqualTo(10));
        }
Example #10
0
        public void RenderExpected_MoreThanMaxRowsCount_ReturnCorrectNumberOfRowsOnTop()
        {
            var list = new List <string>();

            for (int i = 0; i < 20; i++)
            {
                list.Add(String.Format("Item {0:00}", i));
            }

            var msg = new ItemsMessage(FailureReportProfile.Default);

            msg.Build(list, null, null);
            var value     = msg.RenderExpected();
            var lines     = value.Replace("\n", string.Empty).Split('\r');
            var firstLine = lines[0];

            Assert.That(firstLine, Is.EqualTo("Set of 20 items"));
        }
Example #11
0
        public void RenderExpected_MoreThanMaxRowsCount_ReturnCorrectCountOfSkippedRow()
        {
            var list = new List <string>();

            for (int i = 0; i < 22; i++)
            {
                list.Add(String.Format("Item {0:00}", i));
            }

            var msg = new ItemsMessage(FailureReportProfile.Default);

            msg.Build(list, null, null);
            var value = msg.RenderExpected();
            var lines = value.Replace("\n", string.Empty).Split('\r');
            //Not exactly the last line but the previous due to paragraph rendering.
            var lastLine = lines.Reverse().ElementAt(1);

            Assert.That(lastLine, Is.EqualTo("... and 12 others not displayed."));
        }
        protected ItemsMessage BuildFailure()
        {
            var msg = new ItemsMessage(Configuration.FailureReportProfile);
            var compare = new ListComparer()
                        .Compare
                        (
                            ExpectedItems
                            , ((MemberResult)actual).ToCaptions()
                            , GetComparisonType()
                        );

            msg.Build(ExpectedItems, ((MemberResult)actual).ToCaptions(), compare);
            return msg;
        }
Example #13
0
        public void RenderExpected_MoreThanMaxRowsCount_ReturnCorrectNumberOfRowsOnTop()
        {
            var list = new List<string>();
            for (int i = 0; i < 20; i++)
                list.Add(String.Format("Item {0:00}", i));

            var msg = new ItemsMessage(FailureReportProfile.Default);
            msg.Build(list, null, null);
            var value = msg.RenderExpected();
            var lines = value.Replace("\n", string.Empty).Split('\r');
            var firstLine = lines[0];

            Assert.That(firstLine, Is.EqualTo("Set of 20 items"));
        }
Example #14
0
        public void RenderExpected_OneRow_ReturnCorrectNumberOfRowsOnTopWithoutPlurial()
        {
            var list = new List<string>();
            list.Add("Item 01");

            var msg = new ItemsMessage(FailureReportProfile.Default);
            msg.Build(list, null, null);
            var value = msg.RenderExpected();
            var lines = value.Replace("\n", string.Empty).Split('\r');
            var firstLine = lines[0];

            Assert.That(firstLine, Is.EqualTo("Set of 1 item"));
        }
Example #15
0
        public void RenderExpected_MoreThanSampleRowsCountButLessThanMaxRowsCount_ReturnEachRowAndHeaderAndSeparation()
        {
            var rowCount = 12;

            var list = new List<string>();
            for (int i = 0; i < rowCount; i++)
                list.Add(String.Format("Item {0:00}", i));

            var msg = new ItemsMessage(FailureReportProfile.Default);
            msg.Build(list, null, null);
            var value = msg.RenderExpected();
            var lines = value.Replace("\n", string.Empty).Split('\r');

            Assert.That(lines.Count(l => l.Contains("*")), Is.EqualTo(rowCount));
        }
Example #16
0
        public void RenderExpected_MoreThanSampleRowsAndMaxRowsCountWithSpecificFailureReportProfile_ReturnEachRowAndHeaderAndSeparation()
        {
            var rowCount = 120;
            var threshold = rowCount - 20;
            var max=threshold/2;

            var list = new List<string>();
            for (int i = 0; i < rowCount; i++)
                list.Add(String.Format("Item {0:00}", i));

            var profile = Mock.Of<IFailureReportProfile>(p =>
                p.MaxSampleItem == max
                && p.ThresholdSampleItem == threshold
                && p.ExpectedSet == FailureReportSetType.Sample
            );

            var msg = new ItemsMessage(profile);
            msg.Build(list, null, null);
            var value = msg.RenderExpected();
            var lines = value.Replace("\n", string.Empty).Split('\r');

            Assert.That(lines.Count(l => l.Contains("*")), Is.EqualTo(max));
        }