public void GivenIEnumerablePrimitive_SetAsString_CreatesArryOfPrimitive() { var targetObject = new TestTypeParent(); var uut = new RepeatingGroupTagSetter(); var valueToSet = "3".AsSpan(); PropertyInfo propertyInfo = targetObject.GetType().GetProperty(nameof(targetObject.Tag57s)); var mappingDetails = TagMapLeaf.CreateRepeatingTag(propertyInfo, propertyInfo.PropertyType.GetGenericArguments()[0], uut); var messageContext = new FixMessageContext(); var result = uut.Set(valueToSet, mappingDetails, messageContext, targetObject); Assert.NotNull(targetObject.Tag57s); Assert.Equal(3, targetObject.Tag57s.Count()); }
public void GivenIEnumerableT_Set_CreatesArryOfT() { var targetObject = new TestTypeParent(); var uut = new RepeatingGroupTagSetter(); var valueToSet = new byte[2]; IntegerToFixConverter.Instance.Convert(15, valueToSet, 2); PropertyInfo propertyInfo = targetObject.GetType().GetProperty(nameof(targetObject.Tag59s)); var mappingDetails = TagMapLeaf.CreateRepeatingTag(propertyInfo, propertyInfo.PropertyType.GetGenericArguments()[0], uut); var messageContext = new FixMessageContext(); var result = uut.Set(valueToSet, mappingDetails, messageContext, targetObject); Assert.NotNull(targetObject.Tag59s); Assert.Equal(15, targetObject.Tag59s.Count()); }
public void GivenCachedSettersIEnumerablePrimitive_Set_DoesNotSetAgain() { var targetObject = new TestTypeParent(); var uut = new RepeatingGroupTagSetter(); var valueToSet = new byte[2]; IntegerToFixConverter.Instance.Convert(15, valueToSet, 2); PropertyInfo propertyInfo = targetObject.GetType().GetProperty(nameof(targetObject.Tag57s)); var mappingDetails = TagMapLeaf.CreateRepeatingTag(propertyInfo, propertyInfo.PropertyType.GetGenericArguments()[0], uut); var messageContext = new FixMessageContext(); uut.Set(valueToSet, mappingDetails, messageContext, targetObject); // Try to set a different value IntegerToFixConverter.Instance.Convert(16, valueToSet, 2); var result = uut.Set(valueToSet, mappingDetails, messageContext, targetObject); Assert.NotNull(targetObject.Tag57s); Assert.Equal(15, targetObject.Tag57s.Count()); }