public void PrimitiveTypeConformsToTest() { TypesTable typesTalbe = new TypesTable(); StandardLibraryCreator sl = new StandardLibraryCreator(); sl.CreateStandardLibrary(typesTalbe); Classifier integerType = typesTalbe.Library.Integer; Classifier realType = typesTalbe.Library.Real; Classifier unlimnaturalType = typesTalbe.Library.UnlimitedNatural; typesTalbe.RegisterType(integerType); typesTalbe.RegisterType(realType); typesTalbe.RegisterType(unlimnaturalType); Assert.IsTrue(integerType.ConformsTo(realType)); Assert.IsFalse(realType.ConformsTo(integerType)); Assert.IsTrue(unlimnaturalType.ConformsTo(integerType)); Assert.IsFalse(integerType.ConformsTo(unlimnaturalType)); Assert.IsTrue(unlimnaturalType.ConformsTo(realType)); //Pridat dalsi }
public void ReflexivityConformsToTest() { TypesTable typesTable = new TypesTable(); StandardLibraryCreator sl = new StandardLibraryCreator(); sl.CreateStandardLibrary(typesTable); Classifier integerType = typesTable.Library.Integer; Assert.IsTrue(integerType.ConformsTo(integerType)); Classifier realType = typesTable.Library.Real; Assert.IsTrue(realType.ConformsTo(realType)); CollectionType collType = typesTable.Library.CreateCollection(Exolutio.Model.OCL.CollectionKind.Bag, integerType); CollectionType collType2 = typesTable.Library.CreateCollection(Exolutio.Model.OCL.CollectionKind.Bag, integerType); typesTable.RegisterType(collType); typesTable.RegisterType(collType2); Assert.IsTrue(collType.ConformsTo(collType)); Assert.IsTrue(collType.ConformsTo(collType2)); List <Property> tupleParts1 = new List <Property>(); tupleParts1.Add(new Property("ahoj", PropertyType.One, integerType)); TupleType tuple = new TupleType(typesTable, tupleParts1); typesTable.RegisterType(tuple); List <Property> tupleParts2 = new List <Property>(); tupleParts2.Add(new Property("ahoj", PropertyType.One, integerType)); TupleType tuple2 = new TupleType(typesTable, tupleParts2); typesTable.RegisterType(tuple2); Assert.IsTrue(tuple.ConformsTo(tuple)); Assert.IsTrue(tuple.ConformsTo(tuple2)); CollectionType bagType = typesTable.Library.CreateCollection(Exolutio.Model.OCL.CollectionKind.Bag, integerType); CollectionType bagType2 = typesTable.Library.CreateCollection(Exolutio.Model.OCL.CollectionKind.Bag, integerType); Assert.IsTrue(bagType.ConformsTo(bagType)); Assert.IsTrue(bagType.ConformsTo(bagType2)); CollectionType setType = typesTable.Library.CreateCollection(Exolutio.Model.OCL.CollectionKind.Set, integerType); CollectionType setType2 = typesTable.Library.CreateCollection(Exolutio.Model.OCL.CollectionKind.Set, integerType); Assert.IsTrue(setType.ConformsTo(setType)); Assert.IsTrue(setType.ConformsTo(setType2)); Classifier voidType = typesTable.Library.Void; typesTable.RegisterType(voidType); Assert.IsTrue(voidType.ConformsTo(voidType)); Classifier anyType = typesTable.Library.Any; typesTable.RegisterType(anyType); Assert.IsTrue(anyType.ConformsTo(anyType)); Classifier invalidType = typesTable.Library.Invalid; typesTable.RegisterType(invalidType); Assert.IsTrue(invalidType.ConformsTo(invalidType)); //pridat class }