public void IntervalTest() { var noteService = new NoteService(); var intervalService = new IntervalService(); var noteIntervalService = new NoteIntervalService(noteService, intervalService); var intervals = noteIntervalService.GetNoteIntervals("A"); var perfectFifth = intervals.First(t => t.Interval.DistanceInSemiTones == 7); Assert.Equal("E", perfectFifth.Note.Name); Assert.Equal("A", intervals.Last().Note.Name); Assert.Equal(Intervals.Octave, intervals.Last().Interval.Type); }
public void AMajorChord() { var noteService = new NoteService(); var intervalService = new IntervalService(); var noteIntervalService = new NoteIntervalService(noteService, intervalService); var chordService = new ChordService(noteIntervalService, noteService); var aMajorChord = chordService.GetChord("A", Core.Chords.Major); Assert.NotNull(aMajorChord); Assert.Equal("A", aMajorChord.Key.Name); // notes. Assert.Equal("A", aMajorChord.Notes[0].Name); Assert.Equal("C#", aMajorChord.Notes[1].Name); Assert.Equal("E", aMajorChord.Notes[2].Name); }
public void NextNote() { var noteService = new NoteService(); var intervalService = new IntervalService(); var noteIntervalService = new NoteIntervalService(noteService, intervalService); var notes = noteService.GetNotes(); var a = noteService.GetNoteByName("A"); var asharp = noteIntervalService.NextNote(notes, a); Assert.Equal("A#", asharp.Name); // semi tone higher. var b = noteIntervalService.NextNote(notes, a, 2); Assert.Equal("B", b.Name); // tone. var nextA = noteIntervalService.NextNote(notes, a, 12); Assert.Equal(a, nextA); // octave }