예제 #1
0
        public void LocrianMajorScale_Constructor_Test()
        {
            // Arrange

            // Act
            var target = new LocrianScale(Tone.B);

            // Assert
            Assert.AreEqual(Tone.B, target.BaseTone);
        }
예제 #2
0
        public void TestLocrianScaleNoteIntervals()
        {
            var scale = new LocrianScale(MusicNotes.A);

            Assert.Equal(IntervalQuality.P1, scale.Notes[0].Interval.IntervalQuality);
            Assert.Equal(IntervalQuality.m2, scale.Notes[1].Interval.IntervalQuality);
            Assert.Equal(IntervalQuality.m3, scale.Notes[2].Interval.IntervalQuality);
            Assert.Equal(IntervalQuality.P4, scale.Notes[3].Interval.IntervalQuality);
            Assert.Equal(IntervalQuality.d5, scale.Notes[4].Interval.IntervalQuality);
            Assert.Equal(IntervalQuality.m6, scale.Notes[5].Interval.IntervalQuality);
            Assert.Equal(IntervalQuality.m7, scale.Notes[6].Interval.IntervalQuality);
        }
예제 #3
0
        public void LocrianBFromB0ToC2_GetScaleMembers_Test()
        {
            // Arrange
            var target = new LocrianScale(Tone.B);

            // Act
            var scaleInB = target.GetMembers(new Pitch(0, Tone.B), new Pitch(2, Tone.C));

            // Assert
            Assert.AreEqual(new Pitch(0, Tone.B), scaleInB[0]);
            Assert.AreEqual(new Pitch(1, Tone.C), scaleInB[1]);
            Assert.AreEqual(new Pitch(1, Tone.D), scaleInB[2]);
            Assert.AreEqual(new Pitch(1, Tone.E), scaleInB[3]);
            Assert.AreEqual(new Pitch(1, Tone.F), scaleInB[4]);
            Assert.AreEqual(new Pitch(1, Tone.G), scaleInB[5]);
            Assert.AreEqual(new Pitch(1, Tone.A), scaleInB[6]);
            Assert.AreEqual(new Pitch(1, Tone.B), scaleInB[7]);
            Assert.AreEqual(new Pitch(2, Tone.C), scaleInB[8]);
        }
예제 #4
0
        public void TestBFlatLocrian()
        {
            var scale = new LocrianScale(MusicNotes.BFlat);

            Assert.Equal(7, scale.Notes.Length);

            Assert.Equal(MusicNotes.BFlat, scale.Notes[0].Note);

            Assert.Equal(MusicNotes.CFlat, scale.Notes[1].Note);

            Assert.Equal(MusicNotes.DFlat, scale.Notes[2].Note);

            Assert.Equal(MusicNotes.EFlat, scale.Notes[3].Note);

            Assert.Equal(MusicNotes.FFlat, scale.Notes[4].Note);

            Assert.Equal(MusicNotes.GFlat, scale.Notes[5].Note);

            Assert.Equal(MusicNotes.AFlat, scale.Notes[6].Note);
        }
예제 #5
0
        public void TestASharpLocrian()
        {
            var scale = new LocrianScale(MusicNotes.ASharp);

            Assert.Equal(7, scale.Notes.Length);

            Assert.Equal(MusicNotes.ASharp, scale.Notes[0].Note);

            Assert.Equal(MusicNotes.B, scale.Notes[1].Note);

            Assert.Equal(MusicNotes.CSharp, scale.Notes[2].Note);

            Assert.Equal(MusicNotes.DSharp, scale.Notes[3].Note);

            Assert.Equal(MusicNotes.E, scale.Notes[4].Note);

            Assert.Equal(MusicNotes.FSharp, scale.Notes[5].Note);

            Assert.Equal(MusicNotes.GSharp, scale.Notes[6].Note);
        }
예제 #6
0
        public void TestALocrian()
        {
            var scale = new LocrianScale(MusicNotes.A);

            Assert.Equal(7, scale.Notes.Length);

            Assert.Equal(MusicNotes.A, scale.Notes[0].Note);

            Assert.Equal(MusicNotes.BFlat, scale.Notes[1].Note);

            Assert.Equal(MusicNotes.C, scale.Notes[2].Note);

            Assert.Equal(MusicNotes.D, scale.Notes[3].Note);

            Assert.Equal(MusicNotes.EFlat, scale.Notes[4].Note);

            Assert.Equal(MusicNotes.F, scale.Notes[5].Note);

            Assert.Equal(MusicNotes.G, scale.Notes[6].Note);
        }