public void Create_When_dependancyInjectionService_returns_command_Then_returns_command_with_correct_type() { var commandMock = new Mock<ICommandWithArguments<StubArguments>>(); _dependancyContainerMock.Setup(x => x.Resolve(typeof(ICommandWithArguments<StubArguments>))) .Returns(commandMock.Object); var arguments = new StubArguments(); var result = _commandFactory.Create(arguments); Assert.IsAssignableFrom<CompiledCommand<ICommandWithArguments<StubArguments>, StubArguments>>(result); }
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"); }
Create_When_dependancyInjectionService_returns_command_Then_command_execute_calls_internal_command_execute_with_correct_arguments () { var commandMock = new Mock<ICommandWithArguments<StubArguments>>(); _dependancyContainerMock.Setup(x => x.Resolve(typeof(ICommandWithArguments<StubArguments>))) .Returns(commandMock.Object); var arguments = new StubArguments(); var result = _commandFactory.Create(arguments); result.Execute(); commandMock.Verify(x => x.Execute(arguments)); }
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 build_and_execute_an_optional_setter() { var builder = new SetterBuilder<SetterTarget>(); var 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(); }
public void compile_and_exercise_a_builder() { var concreteType = new ConcreteType(typeof (ConstructorTarget)); concreteType.Constructor = typeof (ConstructorTarget).GetConstructors().Single(); var func = BuilderCompiler.CompileCreator(concreteType); 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(); }