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));
        }
Example #2
0
        public void build_and_execute_an_optional_setter()
        {
            var builder = new SetterBuilder <SetterTarget>();
            Action <IArguments, SetterTarget> func = builder.BuildOptionalSetter("Name");

            var args   = new StubArguments();
            var target = new SetterTarget();

            func(args, target);

            target.Name.ShouldBeNull();


            args.Set("Name", "Max");
            func(args, target);

            target.Name.ShouldEqual("Max");
        }
        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();
        }