Beispiel #1
0
        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);
        }
Beispiel #2
0
        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.");
        }