public void Test_SubGridFactory_Creation() { ISubGridFactory factory = new SubGridFactory <NodeSubGrid, LeafSubGrid>(); Assert.NotNull(factory); // Create a tree for the factory to create sub grids for ISubGridTree tree = new SubGridTree(SubGridTreeConsts.SubGridTreeLevels, 1.0, factory); Assert.NotNull(tree); }
public void Test_SubGridFactory_Create_NodeAndLeafSubGrids() { ISubGridFactory factory = new SubGridFactory <NodeSubGrid, LeafSubGrid>(); // Create a tree for the factory to create sub grids for ISubGridTree tree = new SubGridTree(SubGridTreeConsts.SubGridTreeLevels, 1.0, factory); // Create sub grids for each layer, ensure layers // Ask the factory to create node for an invalid tree level try { ISubGrid invalid = factory.GetSubGrid(tree, 0); Assert.True(false, "Factory created sub grid for invalid tree level."); } catch (ArgumentException) { // As expected } // Ask the factory to create node and leaf sub grids for a 6 level tree, from root to leaf. ISubGrid root = factory.GetSubGrid(tree, 1); Assert.NotNull(root); Assert.True(root is NodeSubGrid, "Factory did not create node sub grid for root tree level."); ISubGrid level2 = factory.GetSubGrid(tree, 2); Assert.NotNull(level2); Assert.True(level2 is NodeSubGrid, "Factory did not create node sub grid for tree level 2."); ISubGrid level3 = factory.GetSubGrid(tree, 3); Assert.NotNull(level3); Assert.True(level3 is NodeSubGrid, "Factory did not create node sub grid for tree level 3."); ISubGrid level4 = factory.GetSubGrid(tree, 4); Assert.NotNull(level4); Assert.True(level4 is NodeSubGrid, "Factory did not create node sub grid for tree level 4."); ISubGrid level5 = factory.GetSubGrid(tree, 5); Assert.NotNull(level5); Assert.True(level5 is NodeSubGrid, "Factory did not create node sub grid for tree level 5."); ISubGrid leaf = factory.GetSubGrid(tree, 6); Assert.NotNull(leaf); Assert.True(leaf is LeafSubGrid, "Factory did not create leaf sub grid for tree level 6."); }