public void ShouldCreateMissingTaggedValuesForBieLibrary()
        {
            Repository repo = CreateRepositoryWithoutTaggedValues();

            var synchStereotypes = new SynchTaggedValues(repo);

            synchStereotypes.FixTaggedValues();

            var package = repo.Resolve <Package>((Path)"Model" / "bLibrary" / "BIELibrary");

            Assert.That(package, Is.Not.Null, "Package not found");
            Assert.That(package, HasTaggedValues(new[] { "businessTerm", "copyright", "owner", "reference", "status", "uniqueIdentifier", "versionIdentifier", "baseURN", "namespacePrefix", }), "missing tagged values");
        }
        public void ShouldCreateMissingTaggedValuesForAbie()
        {
            Repository repo = CreateRepositoryWithoutTaggedValues();

            var synchStereotypes = new SynchTaggedValues(repo);

            synchStereotypes.FixTaggedValues();

            var element = repo.Resolve <Element>((Path)"Model" / "bLibrary" / "BIELibrary" / "ABIE");

            Assert.That(element, Is.Not.Null, "Element not found");
            Assert.That(element, HasTaggedValues(new[] { "businessTerm", "definition", "dictionaryEntryName", "languageCode", "uniqueIdentifier", "versionIdentifier", "usageRule", }), "missing tagged values");
        }
        public void ShouldCreateMissingTaggedValuesForPrim()
        {
            Repository repo = CreateRepositoryWithoutTaggedValues();

            var synchStereotypes = new SynchTaggedValues(repo);

            synchStereotypes.FixTaggedValues();

            var element = repo.Resolve <Element>((Path)"Model" / "bLibrary" / "PRIMLibrary" / "PRIM");

            Assert.That(element, Is.Not.Null, "Element not found");
            Assert.That(element, HasTaggedValues(new[] { "businessTerm", "definition", "dictionaryEntryName", "fractionDigits", "languageCode", "length", "maximumExclusive", "maximumInclusive", "maximumLength", "minimumExclusive", "minimumInclusive", "minimumLength", "pattern", "totalDigits", "uniqueIdentifier", "versionIdentifier", "whiteSpace", }), "missing tagged values");
        }
        public void ShouldCreateMissingTaggedValuesForIdScheme()
        {
            Repository repo = CreateRepositoryWithoutTaggedValues();

            var synchStereotypes = new SynchTaggedValues(repo);

            synchStereotypes.FixTaggedValues();

            var element = repo.Resolve <Element>((Path)"Model" / "bLibrary" / "ENUMLibrary" / "IDSCHEME");

            Assert.That(element, Is.Not.Null, "Element not found");
            Assert.That(element, HasTaggedValues(new[] { "businessTerm", "definition", "dictionaryEntryName", "identifierSchemeAgencyIdentifier", "identifierSchemeAgencyName", "modificationAllowedIndicator", "pattern", "restrictedPrimitive", "uniqueIdentifier", "versionIdentifier", }), "missing tagged values");
        }
        public void ShouldCreateMissingTaggedValuesForBdtSup()
        {
            Repository repo = CreateRepositoryWithoutTaggedValues();

            var synchStereotypes = new SynchTaggedValues(repo);

            synchStereotypes.FixTaggedValues();

            var element = repo.Resolve <Element>((Path)"Model" / "bLibrary" / "BDTLibrary" / "BDT");

            Assert.That(element, Is.Not.Null, "Element not found");
            var attribute = (Attribute)element.Attributes.GetByName("SUP");

            Assert.That(attribute, Is.Not.Null, "Attribute not found");
            Assert.That(attribute, HasTaggedValues(new[] { "businessTerm", "definition", "dictionaryEntryName", "enumeration", "fractionDigits", "languageCode", "maximumExclusive", "maximumInclusive", "maximumLength", "minimumExclusive", "minimumInclusive", "minimumLength", "modificationAllowedIndicator", "pattern", "totalDigits", "uniqueIdentifier", "usageRule", "versionIdentifier", }), "missing tagged values");
        }
        public void ShouldCreateMissingTaggedValuesForCodelistEntries()
        {
            Repository repo = CreateRepositoryWithoutTaggedValues();

            var synchStereotypes = new SynchTaggedValues(repo);

            synchStereotypes.FixTaggedValues();

            var element = repo.Resolve <Element>((Path)"Model" / "bLibrary" / "ENUMLibrary" / "ENUM");

            Assert.That(element, Is.Not.Null, "Element not found");
            var attribute = (Attribute)element.Attributes.GetByName("CodelistEntry");

            Assert.That(attribute, Is.Not.Null, "Attribute not found");
            Assert.That(attribute, HasTaggedValues(new[] { "codeName", "status", }), "missing tagged values");
        }
        public void ShouldCreateMissingTaggedValuesForAscc()
        {
            Repository repo = CreateRepositoryWithoutTaggedValues();

            var synchStereotypes = new SynchTaggedValues(repo);

            synchStereotypes.FixTaggedValues();

            var element = repo.Resolve <Element>((Path)"Model" / "bLibrary" / "CCLibrary" / "ACC");

            Assert.That(element, Is.Not.Null, "Element not found");
            var connector = (Connector)element.Connectors.GetByName("ASCC");

            Assert.That(connector, Is.Not.Null, "Connector not found");
            Assert.That(connector, HasTaggedValues(new[] { "businessTerm", "definition", "dictionaryEntryName", "languageCode", "sequencingKey", "uniqueIdentifier", "versionIdentifier", "usageRule", }), "missing tagged values");
        }