public void ProgressionTest_getTabNumber()
 {
     _progression = new Progression();
     _progression.addChord(ChordFactory.getChordByName("C"));
     Assert.AreEqual("X", _progression.getTabNumber(1, 6));
     Assert.AreEqual("3", _progression.getTabNumber(1, 5));
     Assert.AreEqual("2", _progression.getTabNumber(1, 4));
     Assert.AreEqual("0", _progression.getTabNumber(1, 3));
     Assert.AreEqual("1", _progression.getTabNumber(1, 2));
     Assert.AreEqual("0", _progression.getTabNumber(1, 1));
 }
 public void ProgressionTest_changeTuning()
 {
     _progression = new Progression();
     _progression.addChord(ChordFactory.getChordByName("E"));
     Assert.AreEqual("0", _progression.getTabNumber(1, 6));
     Assert.AreEqual("2", _progression.getTabNumber(1, 5));
     Assert.AreEqual("2", _progression.getTabNumber(1, 4));
     Assert.AreEqual("1", _progression.getTabNumber(1, 3));
     Assert.AreEqual("0", _progression.getTabNumber(1, 2));
     Assert.AreEqual("0", _progression.getTabNumber(1, 1));
     _progression.changeTuning(NoteFactory.getNoteByName("E"), NoteFactory.getNoteByName("A"), NoteFactory.getNoteByName("D"),
                               NoteFactory.getNoteByName("G#"), NoteFactory.getNoteByName("B"), NoteFactory.getNoteByName("E"));
     Assert.AreEqual("E, A, D, Ab, B, E", _progression.getTuning());
     Assert.AreEqual("0", _progression.getTabNumber(1, 6));
     Assert.AreEqual("2", _progression.getTabNumber(1, 5));
     Assert.AreEqual("2", _progression.getTabNumber(1, 4));
     Assert.AreEqual("0", _progression.getTabNumber(1, 3));
     Assert.AreEqual("0", _progression.getTabNumber(1, 2));
     Assert.AreEqual("0", _progression.getTabNumber(1, 1));
 }
예제 #3
0
        public static Progression menuThree(Progression progression)
        {
            string inputError = "\nI'm sorry that was not a valid coice." +
                                "\nPlease try again.";
            bool   back = false;
            string answer;

            while (back == false)
            {
                if (progression.getSize() == 0)
                {
                    System.Console.WriteLine("\nThere are no chords in your progression");
                }
                else
                {
                    System.Console.WriteLine("\nThe current tablature is:");
                    System.Console.WriteLine("  " + progression.getChordNames());
                    string spacing;
                    int    spacingSize;
                    string stringOne = "";
                    string stringTwo = "";
                    string stringThree = "";
                    string stringFour = "";
                    string stringFive = "";
                    string stringSix = "";
                    int    i, j;
                    // i = chord, j = string
                    for (i = 1; i <= progression.getSize(); i++)
                    {
                        spacingSize = progression.getChord(i - 1).getName().ToCharArray().Count();
                        spacing     = "";
                        for (j = 0; j < spacingSize; j++)
                        {
                            spacing = spacing + " ";
                        }
                        stringOne   = stringOne + " " + progression.getTabNumber(i, 1) + spacing;
                        stringTwo   = stringTwo + " " + progression.getTabNumber(i, 2) + spacing;
                        stringThree = stringThree + " " + progression.getTabNumber(i, 3) + spacing;
                        stringFour  = stringFour + " " + progression.getTabNumber(i, 4) + spacing;
                        stringFive  = stringFive + " " + progression.getTabNumber(i, 5) + spacing;
                        stringSix   = stringSix + " " + progression.getTabNumber(i, 6) + spacing;
                    }
                    System.Console.WriteLine("T" + stringOne);
                    System.Console.WriteLine("T" + stringTwo);
                    System.Console.WriteLine("A" + stringThree);
                    System.Console.WriteLine("A" + stringFour);
                    System.Console.WriteLine("B" + stringFive);
                    System.Console.WriteLine("B" + stringSix);
                }
                System.Console.WriteLine("\nWhat would you like to do?" +
                                         "\n1) Swap two chords" +
                                         "\n2) Increase the pitch of a chord" +
                                         "\n3) Decrease the pitch of a chord" +
                                         "\n4) Back to main menu");

                answer = System.Console.ReadLine();
                if (answer == "1")
                {
                    progression = swapChords(progression);
                }
                else if (answer == "2")
                {
                    progression = increasePitch(progression);
                }
                else if (answer == "3")
                {
                    progression = decreasePitch(progression);
                }
                else if (answer == "4")
                {
                    back = true;
                }
                else
                {
                    System.Console.WriteLine(inputError);
                }
            }
            return(progression);
        }