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);
        }
Exemplo n.º 7
0
        internal override IEnumerable <Transform <T> > GetTransforms <T>()
        {
            var factory = new FillWithSequentialValuesTransformFactory(_recursiveTransformFactoryOptions);

            yield return(factory.GetTransform <T>());
        }
 public NumberOverflowTests()
 {
     _factory = new FillWithSequentialValuesTransformFactory();
 }