コード例 #1
0
        public void WhenRegisteringAnIdentifier_ItIsRegisteredByKebabCase()
        {
            var definition = new IdentifierDefinition("Test Me", new StringDefinitionType());

            registry.Add(definition);

            Assert.Equal(definition, registry["test-me"]);
        }
コード例 #2
0
        public void StringMarshaller_CorrectlyMarshalsFromXml(
            IDefinitionType definitionType, object expected, string innerXml)
        {
            var definition = new IdentifierDefinition("Identifier", definitionType);

            var marshaller = CreateMarshallerFor(definition);

            var identifier = marshaller.MarshallFromXml(new XElement("identifier", innerXml));

            Assert.Equal(expected, identifier.Value.Value
                         );
        }
コード例 #3
0
            ) CompositeIdentifierDefinition()
        {
            var stringIdentifierDefinition    = new IdentifierDefinition("String", new StringDefinitionType());
            var dateIdentifierDefinition      = new IdentifierDefinition("Date", new DateDefinitionType());
            var compositeIdentifierDefinition = new IdentifierDefinition(
                "Composite",
                new CompositeDefinitionType(
                    stringIdentifierDefinition,
                    dateIdentifierDefinition));

            return(compositeIdentifierDefinition, stringIdentifierDefinition, dateIdentifierDefinition);
        }
コード例 #4
0
        private void SetIdentifierDefinition(MemberInfo member)
        {
            if (!(Attribute is IdentifierAttribute identifierAttribute))
            {
                throw new StemAttributeSetupException("Attribute used a resolver for a FieldAttribute, but was not a FieldAttribute.");
            }

            string name = identifierAttribute.Name ?? identifierAttribute.GetDefaultName(member.Name);

            IdentifierDefinition = Definition.IdentifierDefinitions.GetOrCreate(name);

            IdentifierDefinition.ExactValue = identifierAttribute.Exactly;
        }
コード例 #5
0
 private PersonIdentifierEntity IdentifierEntity(
     PersonEntity personEntity, IdentifierDefinition identifierDefinition, string value,
     AuthorityEntity authority)
 {
     return(new PersonIdentifierEntity
     {
         Person = personEntity,
         TypeName = identifierDefinition.SystemName,
         Value = MarshallValue(identifierDefinition, value),
         ValueType = identifierDefinition.Type.SystemName,
         Authority = authority ?? defaultAuthority
     });
 }
コード例 #6
0
        public void CreatesStringIdentifierMarshaller(IDefinitionType type)
        {
            var identifierDefinition = new IdentifierDefinition("test", type);

            var creator = new IdentifierXmlMarshallerCreator <PersonIdentifier, IdentifierDefinition>();

            identifierDefinition.Accept(creator);

            Assert.Contains("test", creator.Marshallers.Keys);

            var marshaller = creator.Marshallers["test"];

            var stringMarshaller = Assert.IsType <IdentifierXmlElementMarshaller <PersonIdentifier, IdentifierDefinition> >(marshaller);

            Assert.Equal(identifierDefinition, stringMarshaller.Definition);
        }
コード例 #7
0
        public static IIdentifierXmlMarhsaller <PersonIdentifier, IdentifierDefinition> CreateXmlMarshaller(this IdentifierDefinition definition)
        {
            var creator = new IdentifierXmlMarshallerCreator <PersonIdentifier, IdentifierDefinition>();

            definition.Accept(creator);
            return(creator.Marshallers.Values.Single());
        }
コード例 #8
0
 private static string MarshallValue(IdentifierDefinition definition, string value)
 {
     return(definition.CreateXmlMarshaller()
            .MarshallToXml(Identifiers.PersonIdentifier(value, definition))
            .ToString(SaveOptions.DisableFormatting));
 }
コード例 #9
0
 ContainSingleIdentifierValue(
     this GenericCollectionAssertions <PersonIdentifierEntity> assertions,
     IdentifierDefinition definition,
     string value,
     bool deleted = false
     ) => assertions.ContainSingleMarshalledIdentifierValue(definition, MarshallValue(definition, value), deleted);
コード例 #10
0
        public void CorrectlyParsesIdentifiers(string definitionString, IdentifierDefinition expected)
        {
            var definition = parser.ParseString(definitionString);

            definition.Should().BeEquivalentTo(expected);
        }
コード例 #11
0
        private static IIdentifierXmlMarhsaller <PersonIdentifier, IdentifierDefinition> CreateMarshallerFor(IdentifierDefinition identifierDefinition)
        {
            var marshallerCreator = new IdentifierXmlMarshallerCreator <PersonIdentifier, IdentifierDefinition>();

            identifierDefinition.Accept(marshallerCreator);
            return(marshallerCreator.Marshallers.Values.Single());
        }
コード例 #12
0
 private static string MarshallValue(IdentifierDefinition identifierDefinition, string value)
 {
     return(new IdentifierXmlElementMarshaller <PersonIdentifier, IdentifierDefinition>(identifierDefinition)
            .MarshallToXml(Identifiers.PersonIdentifier(value, identifierDefinition))
            .ToString(SaveOptions.DisableFormatting));
 }
コード例 #13
0
 private IPersonIdentifierDisplayHandler GetDisplayHandler(IdentifierDefinition identifierType) =>
 HandlerProvider.GetDisplayHandler(identifierType);
コード例 #14
0
 public IdentifierFactory(IdentifierDefinition definition)
 {
     _definition = definition;
 }