static void Main(string[] args) { string answer; bool exit = false; Progression progression = new Progression(); string inputError = "\nI'm sorry that was not a valid coice." + "\nPlease try again."; System.Console.WriteLine("------------Chordnomicon-----------" + "\nThis is an application that helps" + "\ncomposers write chord progresssions "); while (exit == false) { System.Console.WriteLine("\nThe current key is: " + progression.getKey().getName() + "\n The current mode is: " + progression.getMode().getName() + "\n The current tuning is: " + progression.getTuning()); if (progression.getSize() == 0) { System.Console.WriteLine("There are no chords in your progression"); } else { System.Console.WriteLine("The current chords in your progression are: \n" + progression.getChordNames()); } System.Console.WriteLine("\nWhat would you like to do?" + "\n1) Change the key, mode or tuning" + "\n2) Add or modify a chord" + "\n3) View tablature of current chords" + "\n4) Quit the program"); answer = System.Console.ReadLine(); if (answer == "1") { progression = menuOne(progression); } else if (answer == "2") { progression = menuTwo(progression); } else if (answer == "3") { progression = menuThree(progression); } else if (answer == "4") { exit = true; System.Console.WriteLine("Goodbye"); } else { System.Console.WriteLine(inputError); } } }
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)); }