예제 #1
0
    private bool TestNormalizedValue()
    {
        int size   = 128;
        int height = 3;

        LinkedQuadTree linkedQuadTree = new LinkedQuadTree(new Vector2(-size / 2, -size / 2), size, height);

        linkedQuadTree.InsertValue(1, linkedQuadTree.Nodes[linkedQuadTree.Nodes.Length - 1]);
        linkedQuadTree.InsertValue(1, linkedQuadTree.Nodes[linkedQuadTree.Nodes.Length - 2]);
        linkedQuadTree.InsertValue(1, linkedQuadTree.Nodes[linkedQuadTree.Nodes.Length - 3]);
        linkedQuadTree.InsertValue(1, linkedQuadTree.Nodes[linkedQuadTree.Nodes.Length - 4]);

        bool   success  = true;
        string messages = "";

        TestAssert(linkedQuadTree.NormalizedValue(linkedQuadTree.Nodes[20]) == 1, "Expected node 20 to have value 1!", ref success, ref messages);
        TestAssert(linkedQuadTree.NormalizedValue(linkedQuadTree.Nodes[4]) == 1, "Expected node 4 to have value 1!", ref success, ref messages);
        TestAssert(linkedQuadTree.NormalizedValue(linkedQuadTree.Nodes[0]) == 0.25f, "Expected node 0 to have value 0.25!", ref success, ref messages);

        return(success);
    }
예제 #2
0
    private bool TestEmptyAndFull()
    {
        int size   = 128;
        int height = 2;

        LinkedQuadTree linkedQuadTree = new LinkedQuadTree(new Vector2(-size / 2, -size / 2), size, height);

        LinkedQuadTreeNode lastNode = linkedQuadTree.Nodes[linkedQuadTree.Nodes.Length - 1];

        linkedQuadTree.InsertValue(1, lastNode);

        bool   success  = true;
        string messages = "";

        TestAssert(linkedQuadTree.IsFull(linkedQuadTree.Nodes[4]) == true, "Expected cell 4 to be full!", ref success, ref messages);
        TestAssert(linkedQuadTree.IsFull(linkedQuadTree.Nodes[0]) == false, "Expected cell 0 not to be full!", ref success, ref messages);
        TestAssert(linkedQuadTree.IsEmpty(linkedQuadTree.Nodes[4]) == false, "Expected cell 4 not to be empty!", ref success, ref messages);
        TestAssert(linkedQuadTree.IsEmpty(linkedQuadTree.Nodes[0]) == false, "Expected cell 0 to be empty!", ref success, ref messages);
        TestAssert(linkedQuadTree.IsEmpty(linkedQuadTree.Nodes[1]) == true, "Expected cell 1 to be emtpy!", ref success, ref messages);

        return(success);
    }