Esempio n. 1
0
        public void Default_ClassSeeder_Creates_No_Null_Data()
        {
            var classSeeder = new ClassSeeder(typeof(Customer));
            var data        = (Customer)classSeeder.SeedClass();

            Assert.IsTrue(data.FirstName != null);
        }
Esempio n. 2
0
        public void ClassSeeder_Loads_Correct_Default_IPropertySeeders_For_Customer()
        {
            var classSeeder = new ClassSeeder(typeof(Customer));
            var data        = classSeeder.SeedClass();


            Assert.IsTrue(classSeeder.PropertySeeders.ContainsKey("Id"));
            Assert.IsTrue(classSeeder.PropertySeeders.ContainsKey("FirstName"));
            Assert.IsTrue(classSeeder.PropertySeeders["Id"].GetInstance().PropertyInstance.GetType() == typeof(int));
            Assert.IsTrue(classSeeder.PropertySeeders["FirstName"].GetInstance().PropertyInstance.GetType() == typeof(string));
        }
Esempio n. 3
0
        /// <summary>
        /// Customize an IClassSeeder with a ClassSeederBuilder API
        /// </summary>
        /// <typeparam name="TClass">Type of the class</typeparam>
        /// <param name="selector"></param>
        /// <returns></returns>
        public ClassSeederBuilder <TClass> CustomizeClassSeeder <TClass>(Expression <Func <TContext, MockCollection <TClass> > > selector) where TClass : class
        {
            dynamic dynamicExp = selector;
            var     className  = dynamicExp.Body.Member.Name;

            var classSeeder = new ClassSeeder(typeof(TClass));

            _classSeederMonitor.AddOrUpdateClassSeeder(className, classSeeder);

            var classSeederBuilder = new ClassSeederBuilder <TClass>(classSeeder);

            return(classSeederBuilder);
        }
Esempio n. 4
0
        /// <summary>
        /// Create IClassSeeders for each MockCollection property on the MockContext subclass, if they have not been supplied by the client
        /// </summary>
        /// <typeparam name="TContext">MockContext subclass</typeparam>
        /// <param name="contextSeeder">The ContextSeeder</param>
        public void LoadUnsetClassSeeders <TContext>(ContextSeeder <TContext> contextSeeder) where TContext : MockContext
        {
            foreach (var prop in MockHelpers.GetMockCollectionPropertiesFromMockContext <TContext>())
            {
                var classType = prop.PropertyType.GenericTypeArguments[0];
                if (contextSeeder.ClassSeeders.ContainsKey(prop.Name))
                {
                    continue;
                }

                var classSeeder = new ClassSeeder(classType);
                contextSeeder.ClassSeeders.Add(prop.Name, classSeeder);
            }
        }