Beispiel #1
0
        public void Tri_GetAdjacentTris_Should_Work()
        {
            var p0 = new Plan.Point(0, 0);
            var p1 = new Plan.Point(1, 0);
            var p2 = new Plan.Point(0, 1);
            var p3 = new Plan.Point(3, 0);
            var p4 = new Plan.Point(0, 3);
            var p5 = new Plan.Point(3, 3);
            var p6 = new Plan.Point(0, -1);
            var t0 = new Plan.Tri(new HashSet <Plan.Point>()
            {
                p0, p1, p2
            });
            var t1 = new Plan.Tri(new HashSet <Plan.Point>()
            {
                p1, p2, p3
            });
            var t2 = new Plan.Tri(new HashSet <Plan.Point>()
            {
                p2, p3, p4
            });
            var t3 = new Plan.Tri(new HashSet <Plan.Point>()
            {
                p3, p4, p5
            });
            var t4 = new Plan.Tri(new HashSet <Plan.Point>()
            {
                p0, p2, p6
            });
            var expectedAdjacentToT0 = new HashSet <Plan.Tri>()
            {
                t1, t4
            };
            var expectedAdjacentToT3 = new HashSet <Plan.Tri>()
            {
                t2
            };
            HashSet <Plan.Tri> adjacentToT0, adjacentToT3;

            adjacentToT0 = t0.GetAdjacentTris();
            adjacentToT3 = t3.GetAdjacentTris();

            adjacentToT0.Should().BeEquivalentTo(expectedAdjacentToT0);
            adjacentToT3.Should().BeEquivalentTo(expectedAdjacentToT3);
        }