public void build_an_object() { var args = new StubArguments(); args.Set("name", "Jeremy"); args.Set("age", 35); // That's actually correct, you know, just in case you want to buy me // a birthday present args.Set("birthDay", new DateTime(1974, 1, 1)); ConstructorTarget target = func(args); target.Name.ShouldEqual("Jeremy"); target.Age.ShouldEqual(35); target.BirthDay.ShouldEqual(new DateTime(1974, 1, 1)); }
public void compile_and_exercise_a_builder() { Func <IArguments, object> func = BuilderCompiler.CompileCreator(new Plugin(typeof(ConstructorTarget))); var args = new StubArguments(); args.Set("name", "Jeremy"); args.Set("age", 35); args.Set("birthDay", new DateTime(2009, 1, 1)); args.Set("Color", "blue"); var target = func(args).ShouldBeOfType <ConstructorTarget>(); target.Name.ShouldEqual("Jeremy"); target.Age.ShouldEqual(35); target.Color.ShouldEqual("blue"); // Optional wasn't filled in target.Direction.ShouldBeNull(); }
public void compile_and_exercise_build_up() { var args = new StubArguments(); args.Set("Color", "blue"); var target = new ConstructorTarget(null, 5, DateTime.Today); Action <IArguments, object> action = BuilderCompiler.CompileBuildUp(new Plugin(typeof(ConstructorTarget))); action(args, target); target.Color.ShouldEqual("blue"); }
public void build_and_execute_a_mandatory_setter() { var builder = new SetterBuilder <SetterTarget>(); Action <IArguments, SetterTarget> func = builder.BuildMandatorySetter("Name"); var args = new StubArguments(); args.Set("Name", "Max"); var target = new SetterTarget(); func(args, target); target.Name.ShouldEqual("Max"); }