コード例 #1
0
        public void WhenChordDataMethodIsCalled_ThenAllDataIsReturned()
        {
            // Arrange
            var controller = new ChordDataController(this.chordData, this.loggerMock.Object);

            // Act
            var chordDataObject = controller.ChordData();

            // Assert
            Assert.IsNotNull(chordDataObject);
            Assert.AreEqual(53, chordDataObject.Chords.Count);
            Assert.AreEqual(36, chordDataObject.Scales.Count);
            Assert.AreEqual(12, chordDataObject.NoteNames.Count);
        }
コード例 #2
0
        public void WhenChordsMethodIsCalled_ThenAllChordDataIsReturned()
        {
            // Arrange
            var controller = new ChordDataController(this.chordData, this.loggerMock.Object);

            // Act
            var chordsObject = controller.Chords();

            // Assert
            Assert.IsNotNull(chordsObject);
            var chordsArray = chordsObject as Chord[] ?? chordsObject.ToArray();

            Assert.AreEqual(53, chordsArray.Length);
            Assert.IsInstanceOfType(chordsArray.First(), typeof(Chord));
        }
コード例 #3
0
        public void WhenScalesMethodIsCalled_ThenAllScaleDataIsReturned()
        {
            // Arrange
            var controller = new ChordDataController(this.chordData, this.loggerMock.Object);

            // Act
            var scalesObject = controller.Scales();

            // Assert
            Assert.IsNotNull(scalesObject);
            var scalesArray = scalesObject as Scale[] ?? scalesObject.ToArray();

            Assert.AreEqual(36, scalesArray.Length);
            Assert.IsInstanceOfType(scalesArray.First(), typeof(Scale));
        }
コード例 #4
0
        public void WhenChordsMethodIsCalledWithMultipleSearchTerms_ThenMatchingChordDataIsReturned()
        {
            // Arrange
            var controller = new ChordDataController(this.chordData, this.loggerMock.Object);

            // Act
            var chordsObject = controller.Chords("maj 7th");

            // Assert
            Assert.IsNotNull(chordsObject);
            var chordsArray = chordsObject as Chord[] ?? chordsObject.ToArray();

            Assert.AreEqual(8, chordsArray.Length);
            Assert.AreEqual("Major 7th", chordsArray.First().Description);
            Assert.AreEqual("Major 7th Suspended 4th", chordsArray.Last().Description);
        }
コード例 #5
0
        public void WhenScalesMethodIsCalledWithMultipleSearchTerms_ThenMatchingScaleDataIsReturned()
        {
            // Arrange
            var controller = new ChordDataController(this.chordData, this.loggerMock.Object);

            // Act
            var scalesObject = controller.Scales("lyd flat");

            // Assert
            Assert.IsNotNull(scalesObject);
            var scalesArray = scalesObject as Scale[] ?? scalesObject.ToArray();

            Assert.AreEqual(3, scalesArray.Length);
            Assert.AreEqual("Mixolydian Flattened 9th Sharpened 9th", scalesArray.First().Description);
            Assert.AreEqual("Lydian Flattened 7th", scalesArray.Last().Description);
        }
コード例 #6
0
        public void WhenScalesMethodIsCalledWithSingleSearchTerm_ThenMatchingScaleDataIsReturned()
        {
            // Arrange
            var controller = new ChordDataController(this.chordData, this.loggerMock.Object);

            // Act
            var scalesObject = controller.Scales("maj");

            // Assert
            Assert.IsNotNull(scalesObject);
            var scalesArray = scalesObject as Scale[] ?? scalesObject.ToArray();

            Assert.AreEqual(2, scalesArray.Length);
            Assert.AreEqual("Major", scalesArray.First().Description);
            Assert.AreEqual("Pentatonic Major", scalesArray.Last().Description);
        }
コード例 #7
0
        public void WhenScaleNotesMethodIsCalledWithRootArgumentContainingSharpAndMultipleSearchTerms_ThenMatchingScaleDataIsReturned()
        {
            // Arrange
            var controller = new ChordDataController(this.chordData, this.loggerMock.Object);

            // Act
            var scalesObject = controller.ScaleNotes("G#", "lyd flat");

            // Assert
            Assert.IsNotNull(scalesObject);
            var scalesArray = scalesObject as ScaleInstance[] ?? scalesObject.ToArray();

            Assert.AreEqual(3, scalesArray.Length);
            Assert.IsInstanceOfType(scalesArray.First(), typeof(ScaleInstance));
            Assert.AreEqual("G#/Ab Mixolydian Flattened 9th Sharpened 9th", scalesArray.First().DisplayName);
            Assert.AreEqual("G#/Ab Lydian Flattened 7th", scalesArray.Last().DisplayName);
        }
コード例 #8
0
        public void WhenScaleNotesMethodIsCalledWithRootArgumentContainingSharpAndSingleSearchTerm_ThenMatchingScaleDataIsReturned()
        {
            // Arrange
            var controller = new ChordDataController(this.chordData, this.loggerMock.Object);

            // Act
            var scalesObject = controller.ScaleNotes("G#", "Min");

            // Assert
            Assert.IsNotNull(scalesObject);
            var scalesArray = scalesObject as ScaleInstance[] ?? scalesObject.ToArray();

            Assert.AreEqual(8, scalesArray.Length);
            Assert.IsInstanceOfType(scalesArray.First(), typeof(ScaleInstance));
            Assert.AreEqual("G#/Ab Minor (Natural)", scalesArray.First().DisplayName);
            Assert.AreEqual("G#/Ab Diminished Whole", scalesArray.Last().DisplayName);
        }
コード例 #9
0
        public void WhenScaleNotesMethodIsCalledWithRootArgumentContainingSharp_ThenMatchingScaleDataIsReturned()
        {
            // Arrange
            var controller = new ChordDataController(this.chordData, this.loggerMock.Object);

            // Act
            var scalesObject = controller.ScaleNotes("G#");

            // Assert
            Assert.IsNotNull(scalesObject);
            var scalesArray = scalesObject as ScaleInstance[] ?? scalesObject.ToArray();

            Assert.AreEqual(2, scalesArray.Length);
            Assert.IsInstanceOfType(scalesArray.First(), typeof(ScaleInstance));
            Assert.AreEqual("G#/Ab Major", scalesArray.First().DisplayName);
            Assert.AreEqual("G#/Ab Pentatonic Major", scalesArray.Last().DisplayName);
        }
コード例 #10
0
        public void WhenChordNotesMethodIsCalledWithRootArgumentContainingSharpAndMultipleSearchTerms_ThenMatchingChordDataIsReturned()
        {
            // Arrange
            var controller = new ChordDataController(this.chordData, this.loggerMock.Object);

            // Act
            var chordsObject = controller.ChordNotes("G#", "Min 9th");

            // Assert
            Assert.IsNotNull(chordsObject);
            var chordsArray = chordsObject as ChordInstance[] ?? chordsObject.ToArray();

            Assert.AreEqual(5, chordsArray.Length);
            Assert.IsInstanceOfType(chordsArray.First(), typeof(ChordInstance));
            Assert.AreEqual("G#/Ab Minor 9th", chordsArray.First().DisplayName);
            Assert.AreEqual("G#/Ab Minor 7th Flattened 9th", chordsArray.Last().DisplayName);
        }
コード例 #11
0
        public void WhenChordNotesMethodIsCalledWithRootArgumentContainingFlat_ThenMatchingChordDataIsReturned()
        {
            // Arrange
            var controller = new ChordDataController(this.chordData, this.loggerMock.Object);

            // Act
            var chordsObject = controller.ChordNotes("Ab");

            // Assert
            Assert.IsNotNull(chordsObject);
            var chordsArray = chordsObject as ChordInstance[] ?? chordsObject.ToArray();

            Assert.AreEqual(16, chordsArray.Length);
            Assert.IsInstanceOfType(chordsArray.First(), typeof(ChordInstance));
            Assert.AreEqual("G#/Ab Major", chordsArray.First().DisplayName);
            Assert.AreEqual("G#/Ab Major 9th Suspended 4th", chordsArray.Last().DisplayName);
        }