Beispiel #1
0
        public void RectangularArrayVisitorTest()
        {
            String[,] rectangularArray = new string[, ] {
                { "A1", "A2", "A3" }, { "B1", "B2", "B3" }, { "C1", "C2", "C3" }
            };
            var outerProduct = new OuterProductIndexGenerator(rectangularArray);
            var processor    = new OuterProductProcessorArrayPrinter(rectangularArray);

            outerProduct.ProcessOuterProduct(processor);
            string result = processor.GetResult();

            Assert.That(result, Is.EqualTo("{A1,A2,A3},{B1,B2,B3},{C1,C2,C3}"));
        }
Beispiel #2
0
        public void RectangularArrayTerminatingVisitorTest()
        {
            String[,] rectangularArray = new string[, ] {
                { "A1", "A2", "A3" }, { "B1", "B2", "B3" }, { "C1", "C2", "C3" }
            };
            var outerProduct = new OuterProductIndexGenerator(rectangularArray);
            var processor    = new OuterProductProcessorArrayPrinter(rectangularArray);

            processor.NumberElementsToOutputInnermost = 2;
            outerProduct.ProcessOuterProduct(processor);
            string result = processor.GetResult();

            Assert.That(result, Is.EqualTo("{A1,A2,...},{B1,B2,...},{C1,C2,...}"));
        }
Beispiel #3
0
        public void ProcessSameOuterProductMultipleTimesTest()
        {
            String[,] rectangularArray = new string[, ] {
                { "A1", "A2", "A3" }, { "B1", "B2", "B3" }, { "C1", "C2", "C3" }, { "D1", "D2", "D3" }
            };
            var outerProduct = new OuterProductIndexGenerator(rectangularArray);
            OuterProductProcessorArrayPrinter processor = null;
            int i = 0;

            for (; i < 3; ++i)
            {
                processor = new OuterProductProcessorArrayPrinter(rectangularArray);
                outerProduct.ProcessOuterProduct(processor);
            }
            Assert.That(i, Is.EqualTo(3));
            string result = processor.GetResult();

            Assert.That(result, Is.EqualTo("{A1,A2,A3},{B1,B2,B3},{C1,C2,C3},{D1,D2,D3}"));
        }