public void GivenSimpleValue_Set_CallsSimpleSetter()
        {
            var testValue            = new byte[0];
            var mockSimpleTypeSetter = new MockPropertySetter();

            var uut = new CompositePropertySetter();

            uut.Set(testValue, new TagMapLeaf(MockPropertyInfo.Get, mockSimpleTypeSetter), new FixMessageContext(), new object());

            Assert.True(mockSimpleTypeSetter.IsVerified);
        }
        public void GivenRepeatingGroup_Set_CallsRepeatingSetter()
        {
            var testValue  = new byte[0];
            var mockSetter = new MockPropertySetter();

            var uut = new CompositePropertySetter();

            uut.Set(testValue, TagMapLeaf.CreateRepeatingTag(null, null, mockSetter), new FixMessageContext(), new object());

            Assert.True(mockSetter.IsVerified);
        }
        public void GivenTypedSimpleValueAsString_SetTarget_CallsTypedSetter()
        {
            var testValue  = "test".AsSpan();
            var mockSetter = new MockPropertySetter();

            var uut          = new CompositePropertySetter();
            var targetObject = new object();

            uut.SetTarget(testValue, new TagMapLeaf(MockPropertyInfo.Get, mockSetter), new FixMessageContext(), ref targetObject);

            Assert.True(mockSetter.IsVerified);
        }
        public void GivenTypeConvertedSetter_Set_CallsConvertingSetter()
        {
            var testValue  = new byte[0];
            var mockSetter = new MockPropertySetter();

            var uut = new CompositePropertySetter();

            uut.Set(testValue, new TagMapLeaf(MockPropertyInfo.Get, mockSetter)
            {
                TypeConverterName = "name"
            }, new FixMessageContext(), new object());

            Assert.True(mockSetter.IsVerified);
        }
        public void GivenParentAsString_Set_CallsParentsSetter()
        {
            var testValue            = "test".AsSpan();
            var mockParentSetter     = new MockPropertySetter();
            var mockSimpleTypeSetter = new MockPropertySetter();

            var uut = new CompositePropertySetter();

            uut.Set(testValue, new TagMapLeaf(MockPropertyInfo.Get, mockSimpleTypeSetter)
            {
                Parents = new List <TagMapParent>()
                {
                    new TagMapParent(MockPropertyInfo.Get, mockParentSetter)
                }
            }, new FixMessageContext(), new object());

            Assert.True(mockParentSetter.IsVerified);
            Assert.True(mockSimpleTypeSetter.IsVerified);
        }