// Inherited Roles // Defined Associations // Inherited Associations internal MetaCachable(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("B17AFC19-9E91-4631-B6D8-43B32A65E0A0")) { SingularName = "Cachable", }; }
// Defined Associations // Inherited Associations internal MetaTransitionalVersion(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("A13C9057-8786-40CA-8421-476E55787D73")) { SingularName = "TransitionalVersion", }; }
// Inherited Associations internal MetaUser(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("a0309c3b-6f80-4777-983e-6e69800df5be")) { SingularName = "User", }; }
internal MetaTask(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("84eb0e6e-68e1-478c-a35f-6036d45792be")) { SingularName = "Task", }; }
// Defined Associations // Inherited Associations internal MetaTransitional(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("ab2179ad-9eac-4b61-8d84-81cd777c4926")) { SingularName = "Transitional", }; }
public void Validate() { var metaPopulation = new MetaPopulation(); var domain = new Domain(metaPopulation, Guid.NewGuid()) { Name = "Domain" }; var c1 = new ClassBuilder(domain, Guid.NewGuid()).WithSingularName("C1").WithPluralName("C1s").Build(); var i1 = new InterfaceBuilder(domain, Guid.NewGuid()).WithSingularName("I1").WithPluralName("I1s").Build(); var i2 = new InterfaceBuilder(domain, Guid.NewGuid()).WithSingularName("I2").WithPluralName("I2s").Build(); Assert.IsTrue(metaPopulation.IsValid); // class with interface new InheritanceBuilder(domain, Guid.NewGuid()).WithSubtype(c1).WithSupertype(i1).Build(); var validation = metaPopulation.Validate(); Assert.IsFalse(validation.ContainsErrors); // interface with interface new InheritanceBuilder(domain, Guid.NewGuid()).WithSubtype(i1).WithSupertype(i2).Build(); validation = metaPopulation.Validate(); Assert.IsFalse(validation.ContainsErrors); // Cyclic var cycle = new InheritanceBuilder(domain, Guid.NewGuid()).WithSubtype(i2).WithSupertype(i1).Build(); validation = metaPopulation.Validate(); Assert.IsTrue(validation.ContainsErrors); Assert.AreEqual(i1, validation.Errors[0].Source); Assert.AreEqual(1, validation.Errors[0].Members.Length); Assert.AreEqual("IComposite.Supertypes", validation.Errors[0].Members[0]); Assert.AreEqual(ValidationKind.Cyclic, validation.Errors[0].Kind); }
internal MetaObjectState(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("f991813f-3146-4431-96d0-554aa2186887")) { SingularName = "ObjectState", }; }
// Inherited Roles // Defined Associations // Inherited Associations internal MetaAccessControlledObject(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("eb0ff756-3e3d-4cf9-8935-8802a73d2df2")) { SingularName = "AccessControlledObject", }; }
// Defined Associations // Inherited Associations internal MetaDelegatedAccessControlledObject(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("842FA7B5-2668-43E9-BFEF-21B6F5B20E8B")) { SingularName = "DelegatedAccessControlledObject", }; }
// Inherited Methods // Defined Roles // Inherited Roles // Defined Associations // Inherited Associations internal MetaObject(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("12504f04-02c6-4778-98fe-04eba12ef8b2")) { SingularName = "Object", }; }
// Inherited Roles // Defined Associations // Inherited Associations internal MetaLocalised(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("7979a17c-0829-46df-a0d4-1b01775cfaac")) { SingularName = "Localised", }; }
// Inherited Roles // Defined Associations // Inherited Associations internal MetaPrintable(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("61207a42-3199-4249-baa4-9dd11dc0f5b1")) { SingularName = "Printable", }; }
// Defined Methods // Inherited Methods // Defined Roles // Inherited Roles // Defined Associations // Inherited Associations internal MetaVersioned(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("39F9CB84-B321-424A-864C-0B128ACAA965")) { SingularName = "Versioned", }; }
// Defined Associations // Inherited Associations internal MetaVersion(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("A6A3C79E-150B-4586-96EA-5AC0E2E638C6")) { SingularName = "Version", }; }
// Inherited Associations internal MetaWorkItem(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("fbea29c6-6109-4163-a088-9f0b4deac896")) { SingularName = "WorkItem", }; }
// Inherited Roles // Defined Associations // Inherited Associations internal MetaSecurityTokenOwner(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("a69cad9c-c2f1-463f-9af1-873ce65aeea6")) { SingularName = "SecurityTokenOwner", }; }
// Inherited Methods // Defined Roles // Inherited Roles // Defined Associations // Inherited Associations internal MetaDeletable(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("9279e337-c658-4086-946d-03c75cdb1ad3")) { SingularName = "Deletable", }; }
public void ValidateDuplicateReverseRelationAndType() { var metaPopulation = new MetaPopulation(); var domain = new Domain(metaPopulation, Guid.NewGuid()) { Name = "Domain" }; var c1 = new ClassBuilder(domain, Guid.NewGuid()).WithSingularName("C1").WithPluralName("C1s").Build(); var c2 = new ClassBuilder(domain, Guid.NewGuid()).WithSingularName("C2").WithPluralName("C2s").Build(); var relationType = new RelationTypeBuilder(domain, Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()).Build(); relationType.AssociationType.ObjectType = c1; relationType.RoleType.ObjectType = c2; relationType.RoleType.AssignedSingularName = "bb"; relationType.RoleType.AssignedPluralName = "bbs"; Assert.IsTrue(metaPopulation.IsValid); var c1bb = new ClassBuilder(domain, Guid.NewGuid()).WithSingularName("bbC1").WithPluralName("YYY").Build(); Assert.IsFalse(metaPopulation.IsValid); c1bb.SingularName = "XXX"; Assert.IsTrue(metaPopulation.IsValid); c1bb.PluralName = "bbsC1"; }
public void Create() { var metaPopulation = new MetaPopulation(); var domain = new Domain(metaPopulation, Guid.NewGuid()) { Name = "Domain" }; var validationReport = this.MetaPopulation.Validate(); Assert.IsFalse(validationReport.ContainsErrors); Assert.AreEqual(1, metaPopulation.Domains.Count()); Assert.AreEqual(0, domain.DirectSuperdomains.Count()); var superdomain = new Domain(metaPopulation, Guid.NewGuid()) { Name = "Superdomain" }; Assert.AreEqual(2, metaPopulation.Domains.Count()); domain.AddDirectSuperdomain(superdomain); Assert.AreEqual(2, metaPopulation.Domains.Count()); Assert.AreEqual(1, domain.DirectSuperdomains.Count()); Assert.AreEqual(0, superdomain.DirectSuperdomains.Count()); }
public void SuperDomains() { var metaPopulation = new MetaPopulation(); var domain = new Domain(metaPopulation, Guid.NewGuid()) { Name = "Domain" }; Assert.AreEqual(0, domain.Superdomains.Count()); var superdomain = new Domain(metaPopulation, Guid.NewGuid()) { Name = "Superdomain" }; domain.AddDirectSuperdomain(superdomain); Assert.AreEqual(1, domain.Superdomains.Count()); Assert.Contains(superdomain, domain.Superdomains.ToList()); Assert.AreEqual(0, superdomain.Superdomains.Count()); var supersuperdomain = new Domain(metaPopulation, Guid.NewGuid()) { Name = "Supersuperdomain" }; superdomain.AddDirectSuperdomain(supersuperdomain); Assert.AreEqual(2, domain.Superdomains.Count()); Assert.Contains(superdomain, domain.Superdomains.ToList()); Assert.Contains(supersuperdomain, domain.Superdomains.ToList()); Assert.AreEqual(1, superdomain.Superdomains.Count()); Assert.Contains(supersuperdomain, superdomain.Superdomains.ToList()); Assert.AreEqual(0, supersuperdomain.Superdomains.Count()); }
internal MetaCore(MetaPopulation metaPopulation) { this.Domain = new Domain(metaPopulation, new System.Guid("fc9bad0e-d70d-4f93-bca7-0c7944ef1abb")) { Name = "Core" }; }
public void CircularSuperDomains() { var metaPopulation = new MetaPopulation(); var domain = new Domain(metaPopulation, Guid.NewGuid()) { Name = "Domain" }; var superdomain = new Domain(metaPopulation, Guid.NewGuid()) { Name = "Superdomain" }; domain.AddDirectSuperdomain(superdomain); var exceptionThrown = false; try { superdomain.AddDirectSuperdomain(domain); } catch { exceptionThrown = true; } Assert.AreEqual(true, exceptionThrown); exceptionThrown = false; try { domain.AddDirectSuperdomain(domain); } catch { exceptionThrown = true; } Assert.AreEqual(true, exceptionThrown); }
internal MetaBase(MetaPopulation metaPopulation) { this.Domain = new Domain(metaPopulation, new System.Guid("770538dd-7b19-4694-bdce-cf04dcf9cf62")) { Name = "Base" }; }
public void Composites() { var metaPopulation = new MetaPopulation(); var domain = new Domain(metaPopulation, Guid.NewGuid()); var superdomain = new Domain(metaPopulation, Guid.NewGuid()); domain.AddDirectSuperdomain(superdomain); Assert.AreEqual(0, metaPopulation.Composites.Count()); var @class = new ClassBuilder(domain, Guid.NewGuid()).WithSingularName("Class").WithPluralName("Classes").Build(); Assert.AreEqual(1, metaPopulation.Composites.Count()); var superclass = new ClassBuilder(superdomain, Guid.NewGuid()).WithSingularName("Superclass").WithPluralName("Superclasses").Build(); Assert.AreEqual(2, metaPopulation.Composites.Count()); var @interface = new InterfaceBuilder(domain, Guid.NewGuid()).WithSingularName("i1").WithPluralName("i1s").Build(); Assert.AreEqual(3, metaPopulation.Composites.Count()); var superinterface = new InterfaceBuilder(superdomain, Guid.NewGuid()).WithSingularName("i2").WithPluralName("i2s").Build(); Assert.AreEqual(4, metaPopulation.Composites.Count()); var unit = new UnitBuilder(domain, UnitIds.StringId).WithSingularName("AllorsString").WithPluralName("AllorsStrings").WithUnitTag(UnitTags.AllorsString).Build(); Assert.AreEqual(4, metaPopulation.Composites.Count()); var superunit = new UnitBuilder(domain, UnitIds.IntegerId).WithSingularName("AllorsInteger").WithPluralName("AllorsIntegers").WithUnitTag(UnitTags.AllorsString).Build(); Assert.AreEqual(4, metaPopulation.Composites.Count()); }
internal MetaCustom(MetaPopulation metaPopulation) { this.Domain = new Domain(metaPopulation, new System.Guid("af96e2b7-3bb5-4cd1-b02c-39a67c99a11a")) { Name = "Custom" }; }
public void Units() { var metaPopulation = new MetaPopulation(); var domain = new Domain(metaPopulation, Guid.NewGuid()); var superdomain = new Domain(metaPopulation, Guid.NewGuid()); domain.AddDirectSuperdomain(superdomain); Assert.AreEqual(0, metaPopulation.Units.Count()); var unit = new UnitBuilder(domain, UnitIds.StringId).WithSingularName("AllorsString").WithPluralName("AllorsStrings").WithUnitTag(UnitTags.AllorsString).Build(); Assert.AreEqual(1, metaPopulation.Units.Count()); var superunit = new UnitBuilder(domain, UnitIds.IntegerId).WithSingularName("AllorsInteger").WithPluralName("AllorsIntegers").WithUnitTag(UnitTags.AllorsInteger).Build(); Assert.AreEqual(2, metaPopulation.Units.Count()); var @class = new ClassBuilder(domain, Guid.NewGuid()).WithSingularName("Class").WithPluralName("Classes").Build(); Assert.AreEqual(2, metaPopulation.Units.Count()); var superclass = new ClassBuilder(superdomain, Guid.NewGuid()).WithSingularName("Superclass").WithPluralName("Superclasses").Build(); Assert.AreEqual(2, metaPopulation.Units.Count()); var @interface = new InterfaceBuilder(domain, Guid.NewGuid()).WithSingularName("i1").WithPluralName("i1s").Build(); Assert.AreEqual(2, metaPopulation.Units.Count()); var superinterface = new InterfaceBuilder(superdomain, Guid.NewGuid()).WithSingularName("i2").WithPluralName("i2s").Build(); Assert.AreEqual(2, metaPopulation.Units.Count()); }
// Inherited Associations internal MetaUniquelyIdentifiable(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("122ccfe1-f902-44c1-9d6c-6f6a0afa9469")) { SingularName = "UniquelyIdentifiable", }; }
public void MethodTypes() { var metaPopulation = new MetaPopulation(); var domain = new Domain(metaPopulation, Guid.NewGuid()); var superdomain = new Domain(metaPopulation, Guid.NewGuid()); domain.AddDirectSuperdomain(superdomain); var c1 = new ClassBuilder(domain, Guid.NewGuid()).WithSingularName("c1").WithPluralName("c1s").Build(); var c2 = new ClassBuilder(superdomain, Guid.NewGuid()).WithSingularName("c2").WithPluralName("c2s").Build(); var i1 = new InterfaceBuilder(domain, Guid.NewGuid()).WithSingularName("i1").WithPluralName("i1s").Build(); var i2 = new InterfaceBuilder(superdomain, Guid.NewGuid()).WithSingularName("i2").WithPluralName("i2s").Build(); Assert.AreEqual(0, metaPopulation.MethodTypes.Count()); new MethodTypeBuilder(domain, Guid.NewGuid()).WithName("Method1").Build(); Assert.AreEqual(1, metaPopulation.MethodTypes.Count()); new MethodTypeBuilder(superdomain, Guid.NewGuid()).WithName("Method2").Build(); Assert.AreEqual(2, metaPopulation.MethodTypes.Count()); new RelationTypeBuilder(domain, Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()).WithObjectTypes(c1, i1).Build(); Assert.AreEqual(2, metaPopulation.MethodTypes.Count()); new RelationTypeBuilder(superdomain, Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()).WithObjectTypes(c2, i2).Build(); Assert.AreEqual(2, metaPopulation.MethodTypes.Count()); }
internal MetaEnumeration(MetaPopulation metaPopulation) { this.Interface = new Interface(metaPopulation, new System.Guid("b7bcc22f-03f0-46fd-b738-4e035921d445")) { SingularName = "Enumeration", }; }
// Inherited Associations internal MetaAccessControl(MetaPopulation metaPopulation) { this.Class = new Class(metaPopulation, new System.Guid("c4d93d5e-34c3-4731-9d37-47a8e801d9a8")) { SingularName = "AccessControl", PluralName = "AccessControls", }; }
// Inherited Roles // Defined Associations // Inherited Associations internal MetaLogin(MetaPopulation metaPopulation) { this.Class = new Class(metaPopulation, new System.Guid("ad7277a8-eda4-4128-a990-b47fe43d120a")) { SingularName = "Login", PluralName = "Logins", }; }
// Inherited Associations internal MetaPermission(MetaPopulation metaPopulation) { this.Class = new Class(metaPopulation, new System.Guid("7fded183-3337-4196-afb0-3266377944bc")) { SingularName = "Permission", PluralName = "Permissions", }; }
// Inherited Associations internal MetaLocalisedText(MetaPopulation metaPopulation) { this.Class = new Class(metaPopulation, new System.Guid("020f5d4d-4a59-4d7b-865a-d72fc70e4d97")) { SingularName = "LocalisedText", PluralName = "LocalisedTexts", }; }
public void Find() { var metapopulation = new MetaPopulation(); var domain = new Domain(metapopulation, Guid.NewGuid()); var superdomain = new Domain(metapopulation, Guid.NewGuid()); domain.AddDirectSuperdomain(superdomain); var unitId = UnitIds.StringId; var interfaceId = Guid.NewGuid(); var classId = Guid.NewGuid(); var inheritanceId = Guid.NewGuid(); var relationTypeId = Guid.NewGuid(); var associationTypeId = Guid.NewGuid(); var roleTypeId = Guid.NewGuid(); var superunitId = UnitIds.IntegerId; var superinterfaceId = Guid.NewGuid(); var superclassId = Guid.NewGuid(); var superinheritanceId = Guid.NewGuid(); var superrelationTypeId = Guid.NewGuid(); var superassociationTypeId = Guid.NewGuid(); var superroleTypeId = Guid.NewGuid(); Assert.IsNull(metapopulation.Find(unitId)); Assert.IsNull(metapopulation.Find(interfaceId)); Assert.IsNull(metapopulation.Find(classId)); Assert.IsNull(metapopulation.Find(inheritanceId)); Assert.IsNull(metapopulation.Find(relationTypeId)); Assert.IsNull(metapopulation.Find(associationTypeId)); Assert.IsNull(metapopulation.Find(roleTypeId)); Assert.IsNull(metapopulation.Find(superunitId)); Assert.IsNull(metapopulation.Find(superinterfaceId)); Assert.IsNull(metapopulation.Find(superclassId)); Assert.IsNull(metapopulation.Find(superinheritanceId)); Assert.IsNull(metapopulation.Find(superrelationTypeId)); Assert.IsNull(metapopulation.Find(superassociationTypeId)); Assert.IsNull(metapopulation.Find(superroleTypeId)); new UnitBuilder(domain, unitId).WithSingularName("AllorsString").WithPluralName("AllorsStrings").WithUnitTag(UnitTags.AllorsString).Build(); Assert.IsNotNull(metapopulation.Find(unitId) as Unit); Assert.IsNull(metapopulation.Find(interfaceId)); Assert.IsNull(metapopulation.Find(classId)); Assert.IsNull(metapopulation.Find(inheritanceId)); Assert.IsNull(metapopulation.Find(relationTypeId)); Assert.IsNull(metapopulation.Find(associationTypeId)); Assert.IsNull(metapopulation.Find(roleTypeId)); Assert.IsNull(metapopulation.Find(superunitId)); Assert.IsNull(metapopulation.Find(superinterfaceId)); Assert.IsNull(metapopulation.Find(superclassId)); Assert.IsNull(metapopulation.Find(superinheritanceId)); Assert.IsNull(metapopulation.Find(superrelationTypeId)); Assert.IsNull(metapopulation.Find(superassociationTypeId)); Assert.IsNull(metapopulation.Find(superroleTypeId)); var @interface = new InterfaceBuilder(domain, interfaceId).WithSingularName("Interface").WithPluralName("Interfaces").Build(); Assert.IsNotNull(metapopulation.Find(unitId) as Unit); Assert.IsNotNull(metapopulation.Find(interfaceId) as Interface); Assert.IsNull(metapopulation.Find(classId)); Assert.IsNull(metapopulation.Find(inheritanceId)); Assert.IsNull(metapopulation.Find(relationTypeId)); Assert.IsNull(metapopulation.Find(associationTypeId)); Assert.IsNull(metapopulation.Find(roleTypeId)); Assert.IsNull(metapopulation.Find(superunitId)); Assert.IsNull(metapopulation.Find(superinterfaceId)); Assert.IsNull(metapopulation.Find(superclassId)); Assert.IsNull(metapopulation.Find(superinheritanceId)); Assert.IsNull(metapopulation.Find(superrelationTypeId)); Assert.IsNull(metapopulation.Find(superassociationTypeId)); Assert.IsNull(metapopulation.Find(superroleTypeId)); var @class = new ClassBuilder(domain, classId).WithSingularName("Class").WithPluralName("Classes").Build(); Assert.IsNotNull(metapopulation.Find(unitId) as Unit); Assert.IsNotNull(metapopulation.Find(interfaceId) as Interface); Assert.IsNotNull(metapopulation.Find(classId) as Class); Assert.IsNull(metapopulation.Find(inheritanceId)); Assert.IsNull(metapopulation.Find(relationTypeId)); Assert.IsNull(metapopulation.Find(associationTypeId)); Assert.IsNull(metapopulation.Find(roleTypeId)); Assert.IsNull(metapopulation.Find(superunitId)); Assert.IsNull(metapopulation.Find(superinterfaceId)); Assert.IsNull(metapopulation.Find(superclassId)); Assert.IsNull(metapopulation.Find(superinheritanceId)); Assert.IsNull(metapopulation.Find(superrelationTypeId)); Assert.IsNull(metapopulation.Find(superassociationTypeId)); Assert.IsNull(metapopulation.Find(superroleTypeId)); new InheritanceBuilder(domain, inheritanceId).WithSubtype(@class).WithSupertype(@interface).Build(); Assert.IsNotNull(metapopulation.Find(unitId) as Unit); Assert.IsNotNull(metapopulation.Find(interfaceId) as Interface); Assert.IsNotNull(metapopulation.Find(classId) as Class); Assert.IsNotNull(metapopulation.Find(inheritanceId) as Inheritance); Assert.IsNull(metapopulation.Find(relationTypeId)); Assert.IsNull(metapopulation.Find(associationTypeId)); Assert.IsNull(metapopulation.Find(roleTypeId)); Assert.IsNull(metapopulation.Find(superunitId)); Assert.IsNull(metapopulation.Find(superinterfaceId)); Assert.IsNull(metapopulation.Find(superclassId)); Assert.IsNull(metapopulation.Find(superinheritanceId)); Assert.IsNull(metapopulation.Find(superrelationTypeId)); Assert.IsNull(metapopulation.Find(superassociationTypeId)); Assert.IsNull(metapopulation.Find(superroleTypeId)); new RelationTypeBuilder(domain, relationTypeId, associationTypeId, roleTypeId).WithObjectTypes(@class, @interface).Build(); Assert.IsNotNull(metapopulation.Find(unitId) as Unit); Assert.IsNotNull(metapopulation.Find(interfaceId) as Interface); Assert.IsNotNull(metapopulation.Find(classId) as Class); Assert.IsNotNull(metapopulation.Find(inheritanceId) as Inheritance); Assert.IsNotNull(metapopulation.Find(relationTypeId) as RelationType); Assert.IsNotNull(metapopulation.Find(associationTypeId) as AssociationType); Assert.IsNotNull(metapopulation.Find(roleTypeId) as RoleType); Assert.IsNull(metapopulation.Find(superunitId)); Assert.IsNull(metapopulation.Find(superinterfaceId)); Assert.IsNull(metapopulation.Find(superclassId)); Assert.IsNull(metapopulation.Find(superinheritanceId)); Assert.IsNull(metapopulation.Find(superrelationTypeId)); Assert.IsNull(metapopulation.Find(superassociationTypeId)); Assert.IsNull(metapopulation.Find(superroleTypeId)); new UnitBuilder(superdomain, superunitId).WithSingularName("AllorsInteger").WithPluralName("AllorsIntegers").WithUnitTag(UnitTags.AllorsInteger).Build(); Assert.IsNotNull(metapopulation.Find(unitId) as Unit); Assert.IsNotNull(metapopulation.Find(interfaceId) as Interface); Assert.IsNotNull(metapopulation.Find(classId) as Class); Assert.IsNotNull(metapopulation.Find(inheritanceId) as Inheritance); Assert.IsNotNull(metapopulation.Find(relationTypeId) as RelationType); Assert.IsNotNull(metapopulation.Find(associationTypeId) as AssociationType); Assert.IsNotNull(metapopulation.Find(roleTypeId) as RoleType); Assert.IsNotNull(metapopulation.Find(superunitId) as Unit); Assert.IsNull(metapopulation.Find(superinterfaceId)); Assert.IsNull(metapopulation.Find(superclassId)); Assert.IsNull(metapopulation.Find(superinheritanceId)); Assert.IsNull(metapopulation.Find(superrelationTypeId)); Assert.IsNull(metapopulation.Find(superassociationTypeId)); Assert.IsNull(metapopulation.Find(superroleTypeId)); var @superinterface = new InterfaceBuilder(superdomain, superinterfaceId).WithSingularName("SuperInterface").WithPluralName("SuperInterfaces").Build(); Assert.IsNotNull(metapopulation.Find(unitId) as Unit); Assert.IsNotNull(metapopulation.Find(interfaceId) as Interface); Assert.IsNotNull(metapopulation.Find(classId) as Class); Assert.IsNotNull(metapopulation.Find(inheritanceId) as Inheritance); Assert.IsNotNull(metapopulation.Find(relationTypeId) as RelationType); Assert.IsNotNull(metapopulation.Find(associationTypeId) as AssociationType); Assert.IsNotNull(metapopulation.Find(roleTypeId) as RoleType); Assert.IsNotNull(metapopulation.Find(superunitId) as Unit); Assert.IsNotNull(metapopulation.Find(superinterfaceId) as Interface); Assert.IsNull(metapopulation.Find(superclassId)); Assert.IsNull(metapopulation.Find(superinheritanceId)); Assert.IsNull(metapopulation.Find(superrelationTypeId)); Assert.IsNull(metapopulation.Find(superassociationTypeId)); Assert.IsNull(metapopulation.Find(superroleTypeId)); var @superclass = new ClassBuilder(superdomain, superclassId).WithSingularName("SuperClass").WithPluralName("SuperClasses").Build(); Assert.IsNotNull(metapopulation.Find(unitId) as Unit); Assert.IsNotNull(metapopulation.Find(interfaceId) as Interface); Assert.IsNotNull(metapopulation.Find(classId) as Class); Assert.IsNotNull(metapopulation.Find(inheritanceId) as Inheritance); Assert.IsNotNull(metapopulation.Find(relationTypeId) as RelationType); Assert.IsNotNull(metapopulation.Find(associationTypeId) as AssociationType); Assert.IsNotNull(metapopulation.Find(roleTypeId) as RoleType); Assert.IsNotNull(metapopulation.Find(superunitId) as Unit); Assert.IsNotNull(metapopulation.Find(superinterfaceId) as Interface); Assert.IsNotNull(metapopulation.Find(superclassId) as Class); Assert.IsNull(metapopulation.Find(superinheritanceId)); Assert.IsNull(metapopulation.Find(superrelationTypeId)); Assert.IsNull(metapopulation.Find(superassociationTypeId)); Assert.IsNull(metapopulation.Find(superroleTypeId)); new InheritanceBuilder(superdomain, superinheritanceId).WithSubtype(@superclass).WithSupertype(@superinterface).Build(); Assert.IsNotNull(metapopulation.Find(unitId) as Unit); Assert.IsNotNull(metapopulation.Find(interfaceId) as Interface); Assert.IsNotNull(metapopulation.Find(classId) as Class); Assert.IsNotNull(metapopulation.Find(inheritanceId) as Inheritance); Assert.IsNotNull(metapopulation.Find(relationTypeId) as RelationType); Assert.IsNotNull(metapopulation.Find(associationTypeId) as AssociationType); Assert.IsNotNull(metapopulation.Find(roleTypeId) as RoleType); Assert.IsNotNull(metapopulation.Find(superunitId) as Unit); Assert.IsNotNull(metapopulation.Find(superinterfaceId) as Interface); Assert.IsNotNull(metapopulation.Find(superclassId) as Class); Assert.IsNotNull(metapopulation.Find(superinheritanceId) as Inheritance); Assert.IsNull(metapopulation.Find(superrelationTypeId)); Assert.IsNull(metapopulation.Find(superassociationTypeId)); Assert.IsNull(metapopulation.Find(superroleTypeId)); new RelationTypeBuilder(superdomain, superrelationTypeId, superassociationTypeId, superroleTypeId).WithObjectTypes(@superclass, @superinterface).Build(); Assert.IsNotNull(metapopulation.Find(unitId) as Unit); Assert.IsNotNull(metapopulation.Find(interfaceId) as Interface); Assert.IsNotNull(metapopulation.Find(classId) as Class); Assert.IsNotNull(metapopulation.Find(inheritanceId) as Inheritance); Assert.IsNotNull(metapopulation.Find(relationTypeId) as RelationType); Assert.IsNotNull(metapopulation.Find(associationTypeId) as AssociationType); Assert.IsNotNull(metapopulation.Find(roleTypeId) as RoleType); Assert.IsNotNull(metapopulation.Find(superunitId) as Unit); Assert.IsNotNull(metapopulation.Find(superinterfaceId) as Interface); Assert.IsNotNull(metapopulation.Find(superclassId) as Class); Assert.IsNotNull(metapopulation.Find(superinheritanceId) as Inheritance); Assert.IsNotNull(metapopulation.Find(superrelationTypeId) as RelationType); Assert.IsNotNull(metapopulation.Find(superassociationTypeId) as AssociationType); Assert.IsNotNull(metapopulation.Find(superroleTypeId) as RoleType); }
public void Superdomains() { var metaPopulation = new MetaPopulation(); var anotherMetaPopulation = new MetaPopulation(); Assert.AreEqual(0, metaPopulation.Domains.Count()); var domain = new Domain(metaPopulation, Guid.NewGuid()); Assert.AreEqual(1, metaPopulation.Domains.Count()); var superdomain = new Domain(metaPopulation, Guid.NewGuid()); domain.AddDirectSuperdomain(superdomain); Assert.AreEqual(2, metaPopulation.Domains.Count()); var anotherdomain = new Domain(anotherMetaPopulation, Guid.NewGuid()); Assert.AreEqual(2, metaPopulation.Domains.Count()); }
public void RelationTypes() { var metaPopulation = new MetaPopulation(); var domain = new Domain(metaPopulation, Guid.NewGuid()); var superdomain = new Domain(metaPopulation, Guid.NewGuid()); domain.AddDirectSuperdomain(superdomain); var c1 = new ClassBuilder(domain, Guid.NewGuid()).WithSingularName("c1").WithPluralName("c1s").Build(); var c2 = new ClassBuilder(superdomain, Guid.NewGuid()).WithSingularName("c2").WithPluralName("c2s").Build(); var i1 = new InterfaceBuilder(domain, Guid.NewGuid()).WithSingularName("i1").WithPluralName("i1s").Build(); var i2 = new InterfaceBuilder(superdomain, Guid.NewGuid()).WithSingularName("i2").WithPluralName("i2s").Build(); Assert.AreEqual(0, metaPopulation.RelationTypes.Count()); new RelationTypeBuilder(domain, Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()).WithObjectTypes(c1, i1).Build(); Assert.AreEqual(1, metaPopulation.RelationTypes.Count()); new RelationTypeBuilder(superdomain, Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()).WithObjectTypes(c1, i2).Build(); Assert.AreEqual(2, metaPopulation.RelationTypes.Count()); new RelationTypeBuilder(domain, Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()).WithObjectTypes(c1, c2).Build(); Assert.AreEqual(3, metaPopulation.RelationTypes.Count()); new MethodTypeBuilder(domain, Guid.NewGuid()).WithName("Method1").Build(); Assert.AreEqual(3, metaPopulation.RelationTypes.Count()); new MethodTypeBuilder(superdomain, Guid.NewGuid()).WithName("Method2").Build(); Assert.AreEqual(3, metaPopulation.RelationTypes.Count()); }
internal CoreDomain(MetaPopulation metaPopulation) : base(metaPopulation) { }
public void Validate() { var metaPopulation = new MetaPopulation(); var domain = new Domain(metaPopulation, Guid.NewGuid()) { Name = "Domain" }; var validationReport = metaPopulation.Validate(); Assert.IsFalse(validationReport.ContainsErrors); domain.Name = string.Empty; validationReport = metaPopulation.Validate(); Assert.IsTrue(validationReport.ContainsErrors); Assert.AreEqual(1, validationReport.Errors.Length); Assert.AreEqual(domain, validationReport.Errors[0].Source); Assert.AreEqual(1, validationReport.Errors[0].Members.Length); Assert.AreEqual("Domain.Name", validationReport.Errors[0].Members[0]); Assert.AreEqual(ValidationKind.Required, validationReport.Errors[0].Kind); domain.Name = "_"; validationReport = metaPopulation.Validate(); Assert.IsTrue(validationReport.ContainsErrors); Assert.AreEqual(1, validationReport.Errors.Length); Assert.AreEqual(domain, validationReport.Errors[0].Source); Assert.AreEqual(1, validationReport.Errors[0].Members.Length); Assert.AreEqual("Domain.Name", validationReport.Errors[0].Members[0]); Assert.AreEqual(ValidationKind.Format, validationReport.Errors[0].Kind); domain.Name = "a_"; validationReport = metaPopulation.Validate(); Assert.IsTrue(validationReport.ContainsErrors); Assert.AreEqual(1, validationReport.Errors.Length); Assert.AreEqual(domain, validationReport.Errors[0].Source); Assert.AreEqual(1, validationReport.Errors[0].Members.Length); Assert.AreEqual("Domain.Name", validationReport.Errors[0].Members[0]); Assert.AreEqual(ValidationKind.Format, validationReport.Errors[0].Kind); domain.Name = "1"; validationReport = metaPopulation.Validate(); Assert.IsTrue(validationReport.ContainsErrors); Assert.AreEqual(1, validationReport.Errors.Length); Assert.AreEqual(domain, validationReport.Errors[0].Source); Assert.AreEqual(1, validationReport.Errors[0].Members.Length); Assert.AreEqual("Domain.Name", validationReport.Errors[0].Members[0]); Assert.AreEqual(ValidationKind.Format, validationReport.Errors[0].Kind); domain.Name = "a1"; validationReport = metaPopulation.Validate(); Assert.IsFalse(validationReport.ContainsErrors); Assert.AreEqual(0, validationReport.Errors.Length); domain.Name = "a"; validationReport = metaPopulation.Validate(); Assert.IsFalse(validationReport.ContainsErrors); Assert.AreEqual(0, validationReport.Errors.Length); }
private TestDomain(MetaPopulation metaPopulation) : base(metaPopulation) { }
private CustomDomain(MetaPopulation metaPopulation) : base(metaPopulation) { }
private AdaptersDomain(MetaPopulation metaPopulation) : base(metaPopulation) { }