public static Progression removeChord(Progression progression) { string inputError = "\nI'm sorry that was not a valid coice." + "\nPlease try again."; string choice; bool validChoice = false; while (validChoice == false) { int i; System.Console.WriteLine("\nWhat chord would you like to remove?"); for (i = 1; i <= progression.getSize(); i++) { System.Console.WriteLine(i + ") " + progression.getChord(i - 1).getName()); } choice = System.Console.ReadLine(); for (i = 1; i <= progression.getSize(); i++) { if (choice == i.ToString()) { validChoice = true; string oldChordName = progression.getChord(i - 1).getName(); progression.removeChord(i - 1); System.Console.WriteLine("\n" + oldChordName + " has been removed;"); } } if (validChoice == false) { System.Console.WriteLine(inputError); } } return(progression); }
public void ProgressionTest_removeChord() { _progression = new Progression(); _progression.addChord(ChordFactory.getChordByName("C")); _progression.addChord(ChordFactory.getChordByName("Am7")); _progression.addChord(ChordFactory.getChordByName("G#(add9)")); _progression.removeChord(2); Assert.AreEqual("C, Am7", _progression.getChordNames()); }