public void GetCoordinatesNode()
        {
            var visualizationHeap = new VisualizationHeap(8);
            visualizationHeap.DefineCoordinates();
            var root = new Rectangle((int) (VisualizationHeap.rootsCoordinates.X) ,
                (int) VisualizationHeap.rootsCoordinates.Y,
                VisualizationHeap.NodesDiameter, VisualizationHeap.NodesDiameter);

            var nextNode1 = new Rectangle(root.X - VisualizationHeap.OffsetBetweenNeighbors, root.Y + VisualizationHeap.DistanceBetweenLevels, VisualizationHeap.NodesDiameter, VisualizationHeap.NodesDiameter);
            var nextNode2 = new Rectangle(root.X + VisualizationHeap.OffsetBetweenNeighbors, root.Y + VisualizationHeap.DistanceBetweenLevels, VisualizationHeap.NodesDiameter, VisualizationHeap.NodesDiameter);
            var nextNode3 = new Rectangle(nextNode1.X - VisualizationHeap.OffsetBetweenNeighbors / 2, nextNode1.Y + VisualizationHeap.DistanceBetweenLevels, VisualizationHeap.NodesDiameter, VisualizationHeap.NodesDiameter);
            var nextNode7 = new Rectangle(nextNode3.X - VisualizationHeap.OffsetBetweenNeighbors / 3, nextNode3.Y + VisualizationHeap.DistanceBetweenLevels, VisualizationHeap.NodesDiameter, VisualizationHeap.NodesDiameter);
            
            Assert.AreEqual(root, visualizationHeap.GetCoordinatesNode(0));
            Assert.AreEqual(nextNode1, visualizationHeap.GetCoordinatesNode(1));
            Assert.AreEqual(nextNode2, visualizationHeap.GetCoordinatesNode(2));
            Assert.AreEqual(nextNode3, visualizationHeap.GetCoordinatesNode(3));
            Assert.AreEqual(nextNode7, visualizationHeap.GetCoordinatesNode(7));
        }
示例#2
0
文件: Tests.cs 项目: Wanderer19/Tasks
        public void GetCoordinatesEdge()
        {
            var visualizationHeap = new VisualizationHeap(8);
            visualizationHeap.DefineCoordinates();

            var root = new Rectangle((int)(VisualizationHeap.rootsCoordinates.X),
              (int)VisualizationHeap.rootsCoordinates.Y,
              VisualizationHeap.NodesDiameter, VisualizationHeap.NodesDiameter);

            var nextNode1 = new Rectangle(root.X - VisualizationHeap.OffsetBetweenNeighbors, root.Y + VisualizationHeap.DistanceBetweenLevels, VisualizationHeap.NodesDiameter, VisualizationHeap.NodesDiameter);
            var nextNode2 = new Rectangle(root.X + VisualizationHeap.OffsetBetweenNeighbors, root.Y + VisualizationHeap.DistanceBetweenLevels, VisualizationHeap.NodesDiameter, VisualizationHeap.NodesDiameter);
            var nextNode3 = new Rectangle(nextNode1.X - VisualizationHeap.OffsetBetweenNeighbors / 2, nextNode1.Y + VisualizationHeap.DistanceBetweenLevels, VisualizationHeap.NodesDiameter, VisualizationHeap.NodesDiameter);
            var nextNode7 = new Rectangle(nextNode3.X - VisualizationHeap.OffsetBetweenNeighbors / 3,
                nextNode3.Y + VisualizationHeap.DistanceBetweenLevels, VisualizationHeap.NodesDiameter,
                VisualizationHeap.NodesDiameter);

            var d = VisualizationHeap.NodesDiameter;
            Assert.AreEqual(Tuple.Create(new Point(root.X + d/2, root.Y + d), new Point(nextNode1.X + d/2, nextNode1.Y)), visualizationHeap.GetCoordinatesEdge(1));
            Assert.AreEqual(Tuple.Create(new Point(root.X + d / 2, root.Y + d), new Point(nextNode2.X + d / 2, nextNode2.Y)), visualizationHeap.GetCoordinatesEdge(2));
            Assert.AreEqual(Tuple.Create(new Point(nextNode1.X + d / 2, nextNode1.Y + d), new Point(nextNode3.X + d / 2, nextNode3.Y)), visualizationHeap.GetCoordinatesEdge(3));
            Assert.AreEqual(Tuple.Create(new Point(nextNode3.X + d / 2, nextNode3.Y + d), new Point(nextNode7.X + d / 2, nextNode7.Y)), visualizationHeap.GetCoordinatesEdge(7));
        }