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}")); }
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,...}")); }
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}")); }