Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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
        }