public void ValidateStringArrayTest()
        {
            Assert.IsFalse(PackageDependencyParser.ValidateStringArray(null));

            //Creating a test string array. This should not be a valid array.
            var testStringArray = new string[] { "This", "is", "only", "a", "test" };

            Assert.IsFalse(PackageDependencyParser.ValidateStringArray(testStringArray));

            //Test what happens if I am missing a  ": "
            testStringArray = new string[] { "This: ", "is: only", "a", "test: " };
            Assert.IsFalse(PackageDependencyParser.ValidateStringArray(testStringArray));

            //Validate each entry in the array to make sure that it follows the correct format.
            testStringArray = new[] { "Package: Dependancy", "Package2: ", "1: 2" };
            Assert.IsTrue(PackageDependencyParser.ValidateStringArray(testStringArray));

            //Validation should not pass if there is a duplicate package.
            testStringArray = new string[] { "Package: Dependancy", "Package: " };
            Assert.IsFalse(PackageDependencyParser.ValidateStringArray(testStringArray));

            //Validation what if you have empty package name and dependacy.
            testStringArray = new string[] { ": dependacy" };
            Assert.IsFalse(PackageDependencyParser.ValidateStringArray(testStringArray));
        }
Esempio n. 2
0
        public static void Main(string[] args)
        {
            //Create string Array.
            //Read in input array.
            Console.WriteLine(
                "Please insert your package dependancy array make sure all entered \ndata looks like is Package: Dependancy. Package:  is valid input as well.\n");
            var userInput      = Console.ReadLine();
            var parseUserInput = userInput.Split(',');

            //Validate the string Array.
            if (PackageDependencyParser.ValidateStringArray(parseUserInput))
            {
                //Create package install order.
                string output = PackageDependencyParser.PackageOrder(parseUserInput);

                Console.WriteLine(string.IsNullOrEmpty(output) ? "There is no valid package dependancy path.\n" : output);
                Console.ReadLine();
            }
            else
            {
                Console.WriteLine("The input information was invalid. Please restart program to try again.");
                Console.ReadLine();
            }
        }