public void TestElementType() { ElementType elementType = ElementType.Node_a; elementType = elementType.AddType(ElementType.Constant_a); Assert.AreEqual(ElementType.ConstantNode_c, elementType); Assert.IsTrue(elementType.IsType(ElementType.Constant_a)); Assert.IsTrue(elementType.HasAnyType(ElementType.AnyElementMask_c)); elementType = elementType.RemoveType(ElementType.Constant_a); Assert.IsFalse(elementType.IsType(ElementType.Constant_a)); Assert.IsTrue(elementType.IsType(ElementType.Node_a)); Assert.IsTrue(ElementType.PositiveArc_a.HasAnyType(ElementType.PositiveConstantPermanentAccessArc_c)); Assert.IsTrue(ElementType.ConstantNode_c.IsType(ElementType.Node_a)); Assert.IsFalse(ElementType.PositiveArc_a.IsType(ElementType.NegativeArc_a)); }