public void It_should_generate_sequential_dates_incrementing_by_day(int index, int expectedYear, int expectedMonth, int expectedDay) { var transform = new FillWithSequentialValuesTransformFactory() .GetTransform <ClassWithManyDifferentTypesOfProperties>(); var instance = new ClassWithManyDifferentTypesOfProperties(); transform.ApplyTo(instance, index); instance.DateTimeProperty.Should().Be(new DateTime(expectedYear, expectedMonth, expectedDay)); }
public void It_should_generate_sequential_dates_incrementing_by_ticks(int index, int incrementedTicks) { var transform = new FillWithSequentialValuesTransformFactory(new RecursiveTransformFactoryOptions { DateTimeIncrements = DateTimeIncrements.Ticks }) .GetTransform <ClassWithManyDifferentTypesOfProperties>(); var instance = new ClassWithManyDifferentTypesOfProperties(); transform.ApplyTo(instance, index); instance.DateTimeProperty.Should().Be(RecursiveTransformFactoryOptions.DefaultStartDate.Date + TimeSpan.FromTicks(incrementedTicks)); }
public void Should_disable_recursive_fill() { var factoryWithRecursionDisabled = new FillWithSequentialValuesTransformFactory( new RecursiveTransformFactoryOptions { EnableRecursiveInstantiation = false } ); var transform = factoryWithRecursionDisabled.GetTransform <ClassA>(); var instance = new ClassA(); transform.ApplyTo(instance); instance.PropertyX.Should().Be("PropertyX1"); instance.B.Should().Be(null, "should not recursively fill when it is disable via options"); }
public void It_should_generate_sequential_dates_based_on_the_start_date(int index, int startYear, int startMonth, int startDay, int incrementedDays) { var startDate = new DateTime(startYear, startMonth, startDay); var transform = new FillWithSequentialValuesTransformFactory(new RecursiveTransformFactoryOptions { DateTimeIncrements = DateTimeIncrements.Days, StartDate = startDate }) .GetTransform <ClassWithManyDifferentTypesOfProperties>(); var instance = new ClassWithManyDifferentTypesOfProperties(); transform.ApplyTo(instance, index); instance.DateTimeProperty.Should().Be(startDate + TimeSpan.FromDays(incrementedDays)); }
public void It_should_build_a_function_that_recursively_sets_all_properties_to_the_name_of_the_property( int index, int sequentialNumberExpected) { var transform = new FillWithSequentialValuesTransformFactory().GetTransform <ClassA>(); var instanceOfA = new ClassA(); transform.ApplyTo(instanceOfA, index); instanceOfA.PropertyX.Should().Be($"PropertyX{sequentialNumberExpected}"); instanceOfA.B.Should().NotBeNull(); var instanceOfB = instanceOfA.B; instanceOfB.PropertyY.Should().Be($"PropertyY{sequentialNumberExpected}"); instanceOfB.C.Should().NotBeNull(); var instanceOfC = instanceOfB.C; instanceOfC.PropertyZ.Should().Be($"PropertyZ{sequentialNumberExpected}"); }
public void It_should_fill_properties_with_sequential_values(int index, int sequentialNumberExpected) { var transform = new FillWithSequentialValuesTransformFactory() .GetTransform <ClassWithManyDifferentTypesOfProperties>(); var instance = new ClassWithManyDifferentTypesOfProperties(); transform.ApplyTo(instance, index); instance.StringProperty.Should().Be($"StringProperty{sequentialNumberExpected}"); instance.ByteProperty.Should().Be((byte)sequentialNumberExpected, "byte properties should be filled"); instance.ShortProperty.Should().Be((short)sequentialNumberExpected); instance.UShortProperty.Should().Be((ushort)sequentialNumberExpected); instance.IntProperty.Should().Be(sequentialNumberExpected); instance.UIntProperty.Should().Be((uint)sequentialNumberExpected); instance.LongProperty.Should().Be(sequentialNumberExpected); instance.ULongProperty.Should().Be((ulong)sequentialNumberExpected); instance.FloatProperty.Should().Be(sequentialNumberExpected); instance.DoubleProperty.Should().Be(sequentialNumberExpected); instance.DecimalProperty.Should().Be(sequentialNumberExpected); }
internal override IEnumerable <Transform <T> > GetTransforms <T>() { var factory = new FillWithSequentialValuesTransformFactory(_recursiveTransformFactoryOptions); yield return(factory.GetTransform <T>()); }
public NumberOverflowTests() { _factory = new FillWithSequentialValuesTransformFactory(); }