예제 #1
0
        public void CanGetCellConstraints()
        {
            const string matrixString = "T012F*21T";

            var matrix = new IntersectionMatrix(matrixString);

            Assert.AreEqual(IntersectionConstraint.MustIntersect,
                            matrix.GetConstraint(PointSet.Interior, PointSet.Interior));
            Assert.AreEqual(IntersectionConstraint.MustIntersectWithMaxDimension0,
                            matrix.GetConstraint(PointSet.Interior, PointSet.Boundary));
            Assert.AreEqual(IntersectionConstraint.MustIntersectWithMaxDimension1,
                            matrix.GetConstraint(PointSet.Interior, PointSet.Exterior));

            Assert.AreEqual(IntersectionConstraint.MustIntersectWithMaxDimension2,
                            matrix.GetConstraint(PointSet.Boundary, PointSet.Interior));
            Assert.AreEqual(IntersectionConstraint.MustNotIntersect,
                            matrix.GetConstraint(PointSet.Boundary, PointSet.Boundary));
            Assert.AreEqual(IntersectionConstraint.NotChecked,
                            matrix.GetConstraint(PointSet.Boundary, PointSet.Exterior));

            Assert.AreEqual(IntersectionConstraint.MustIntersectWithMaxDimension2,
                            matrix.GetConstraint(PointSet.Exterior, PointSet.Interior));
            Assert.AreEqual(IntersectionConstraint.MustIntersectWithMaxDimension1,
                            matrix.GetConstraint(PointSet.Exterior, PointSet.Boundary));
            Assert.AreEqual(IntersectionConstraint.MustIntersect,
                            matrix.GetConstraint(PointSet.Exterior, PointSet.Exterior));
        }