public void Main_NullParameter_ExcepctedException()
        {
            // Arrange
            int result;
            CommandLineParser myparser = new CommandLineParser();

            // Act
            result = myparser.TestableMain(null);

            // Assert
        }
        public void Main_OperationAndQuestionMark_ReturnsCorrect1()
        {
            // Arrange
            int result;
            IPlanCatalog fakePlan = new MockPlanCatalog();
            BranchPlanBaseCommand cmdObj = new BranchPlanBaseCommand(null, fakePlan);
            CommandLineParser myparser = new CommandLineParser(cmdObj);
            string[] args = { "basic", "/?" };

            // Act
            result = myparser.TestableMain(args);

            // Assert
            Assert.AreEqual(1, result);
        }
        public void Main_CommandIsJustSlask_ReturnsCorrectCode20()
        {
            // Arrange
            int result;
            IPlanCatalog fakePlan = new MockPlanCatalog();
            BranchPlanBaseCommand cmdObj = new BranchPlanBaseCommand(null, fakePlan);
            CommandLineParser myparser = new CommandLineParser(cmdObj);
            string[] args = { "/" };

            // Act
            result = myparser.TestableMain(args);

            // Assert
            Assert.AreEqual(20, result);
        }
        public void Main_CorrectSyntxWrongValue_ReturnsError()
        {
            // Arrange
            int result;
            IActionExecutionEngine iae = new MockExecutionEngine();
            IPlanCatalog fakePlan = new MockPlanCatalog();
            BranchPlanBaseCommand cmd = new BranchPlanBaseCommand(iae, fakePlan);

            CommandLineParser myparser = new CommandLineParser(cmd);

            string[] args = { "Basic", "/ProjectCollectionUrl:http", "/RootFolder:folder" };

            // Act
            result = myparser.TestableMain(args);

            // Assert
            Assert.AreEqual(-1, result);
        }
        public void Main_WrongParameter_ReturnsCorrectCode10()
        {
            // Arrange
            int result;
            IPlanCatalog fakePlan = new MockPlanCatalog();
            BranchPlanBaseCommand cmdObj = new BranchPlanBaseCommand(null, fakePlan);
            CommandLineParser myparser = new CommandLineParser(cmdObj);
            string[] args = { "basic", "/ProjectCollectionUrl:http", "/RootFolder:proj", "/WrongParameter:wrong" };

            // Act
            result = myparser.TestableMain(args);

            // Assert
            Assert.AreEqual(10, result);
        }
        public void Main_WrongCommand_ReturnsCorrectCode20()
        {
            // Arrange
            int result;
            IPlanCatalog fakePlan = new MockPlanCatalog();
            BranchPlanBaseCommand cmdObj = new BranchPlanBaseCommand(null, fakePlan);
            CommandLineParser myparser = new CommandLineParser(cmdObj);

            string[] args = { "WrongCommand", "/collection:http", "/TeamProject:proj" };

            // Act
            result = myparser.TestableMain(args);

            // Assert
            Assert.AreEqual(20, result);
        }