public void CanCloneAndFiddle()
        {
            var dc = new DataConfiguration();

            IDataProfile<User> userProfile = _dataConfiguration.Get<User>();
            userProfile = userProfile.CloneInto(dc);
            userProfile
                .ForMember(x => x.FirstName, "Jimmy")
                .ForMember(x => x.Role)
                .ForMember(x => x.Orders);

            User user = dc.Get<User>().Generate(dc);
            Assert.NotNull(user);
            Assert.Null(user.Orders);
        }
        public void UsingEmptyCollectionValueCreatorFails()
        {
            var dc = new DataConfiguration();
            IDataProfile<User> userProfile = _dataConfiguration.Get<User>();
            userProfile = userProfile.CloneInto(dc);
            userProfile
                .ForMember(x => x.Surname, new CollectionItemValueCreator<string>(new string[0]))
                .ForMember(x => x.Role);

            Assert.Throws<InvalidOperationException>(() => dc.Get<User>().Generate(dc));
        }