public void Ensure_Can_Add_Custom_Parser()
        {
            var factory = new CommandLineOptionParserFactory();

            var mockParser = new Mock <ICommandLineOptionParser <CommandLineOptionParserFactoryTests> >();

            factory.AddOrReplace(mockParser.Object);

            var actual = factory.CreateParser <CommandLineOptionParserFactoryTests>();

            Assert.AreSame(mockParser.Object, actual);
        }
        public void Ensure_Factory_Returns_Custom_Enum_Formatter()
        {
            var factory = new CommandLineOptionParserFactory();

            var customParser = new CustomEnumCommandLineOptionParser();

            factory.AddOrReplace(customParser);

            var enumParser = factory.CreateParser <TestEnum>();

            Assert.AreSame(customParser, enumParser);
        }
        public void Ensure_Can_Add_Custom_Parser()
        {
            var factory = new CommandLineOptionParserFactory();

            var mockParser = new Mock<ICommandLineOptionParser<CommandLineOptionParserFactoryTests>>();

            factory.AddOrReplace(mockParser.Object);

            var actual = factory.CreateParser<CommandLineOptionParserFactoryTests>();

            Assert.AreSame(mockParser.Object, actual);
        }
        public void Ensure_Can_Replace_Existing_Parser()
        {
            var factory = new CommandLineOptionParserFactory();

            factory.Parsers.Clear();

            factory.Parsers.Add(typeof(CommandLineOptionParserFactoryTests), Mock.Of <ICommandLineOptionParser <CommandLineOptionParserFactoryTests> >());

            var mockParser = new Mock <ICommandLineOptionParser <CommandLineOptionParserFactoryTests> >();

            factory.AddOrReplace(mockParser.Object);

            var actual = factory.CreateParser <CommandLineOptionParserFactoryTests>();

            Assert.AreSame(mockParser.Object, actual);
        }
        public void Ensure_Can_Replace_Existing_Parser()
        {
            var factory = new CommandLineOptionParserFactory();

            factory.Parsers.Clear();

            factory.Parsers.Add(typeof(CommandLineOptionParserFactoryTests), Mock.Of<ICommandLineOptionParser<CommandLineOptionParserFactoryTests>>());

            var mockParser = new Mock<ICommandLineOptionParser<CommandLineOptionParserFactoryTests>>();

            factory.AddOrReplace(mockParser.Object);

            var actual = factory.CreateParser<CommandLineOptionParserFactoryTests>();

            Assert.AreSame(mockParser.Object, actual);
        }
        public void Ensure_Cannot_Add_Null_Parser()
        {
            var factory = new CommandLineOptionParserFactory();

            factory.AddOrReplace <string>(null);
        }
 public void Ensure_Cannot_Add_Null_Parser()
 {
     var factory = new CommandLineOptionParserFactory();
     factory.AddOrReplace<string>(null);
 }