public void calling_AreArgumentsValid_when_the_arguments_specified_are_null_it_should_throw_an_ArgumentException()
        {
            var cont = new ApplicationController(null);

            cont.Invoking(x => x.AreArgumentsValid())
                .ShouldThrow<ArgumentNullException>()
                .WithMessage("The arguments specified must not be null", FluentAssertions.Assertions.ComparisonMode.Substring);
        }
        public void calling_ProcessTemplate_with_a_null_resource_name_argument_it_should_throw_an_ArgumentException()
        {
            var cont = new ApplicationController(null);

            cont.Invoking(x => x.ProcessTemplate(null, null, null))
                .ShouldThrow<ArgumentException>()
                .WithMessage("embeddedResourceName", FluentAssertions.Assertions.ComparisonMode.Substring);
        }
        public void calling_ProcessTemplate_with_invalid_argument_line_options_it_should_throw_an_ArgumentException()
        {
            var cont = new ApplicationController(new[] { "-p", "My App", "-o" });

            cont.Invoking(x => x.ProcessTemplate("my res", "my namespace", (w, y, z) => { }))
                .ShouldThrow<ArgumentException>()
                .WithMessage("The command line arguments must be valid before calling the ProcessTemplate method", FluentAssertions.Assertions.ComparisonMode.Substring);
        }
        public void calling_ProcessTemplate_with_a_null_delegate_body_it_should_throw_an_ArgumentNullException()
        {
            var cont = new ApplicationController(null);

            cont.Invoking(x => x.ProcessTemplate("ded", null, null))
                .ShouldThrow<ArgumentNullException>()
                .WithMessage("processingTemplate", FluentAssertions.Assertions.ComparisonMode.Substring);
        }