Пример #1
0
        public static Progression changeTuning(Progression progression)
        {
            string inputError = "\nI'm sorry that was not a valid coice." +
                                "\nPlease try again.";
            List <Note> newTuning = new List <Note>();

            for (int i = 6; i > 0; i--)
            {
                string newTuningNote;
                bool   result = false;
                while (result == false)
                {
                    System.Console.WriteLine("Please enter the note for string " + i);
                    newTuningNote = System.Console.ReadLine();
                    result        = NoteController.checkNoteName(newTuningNote);
                    if (result)
                    {
                        newTuning.Add(NoteFactory.getNoteByName(newTuningNote));
                    }
                    else
                    {
                        System.Console.WriteLine(inputError);
                    }
                }
            }
            progression.changeTuning(newTuning.ElementAt(0), newTuning.ElementAt(1), newTuning.ElementAt(2),
                                     newTuning.ElementAt(3), newTuning.ElementAt(4), newTuning.ElementAt(5));
            return(progression);
        }
 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));
 }