From 8bd6b7ed9410b1adc5dcfbc8f7ab9d1e409beceb Mon Sep 17 00:00:00 2001 From: Sebastian Boldt Date: Sat, 8 Feb 2025 22:32:44 +0100 Subject: [PATCH] fixed unit-tests --- Sources/Tonic/Chord.swift | 2 +- Tests/TonicTests/ChordTests.swift | 10 +++++----- Tests/TonicTests/KeyTests.swift | 22 +++++++++++----------- Tests/TonicTests/ReadMeTests.swift | 4 ++-- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Sources/Tonic/Chord.swift b/Sources/Tonic/Chord.swift index e1b6eb3..f100f63 100644 --- a/Sources/Tonic/Chord.swift +++ b/Sources/Tonic/Chord.swift @@ -94,7 +94,7 @@ public struct Chord: Equatable, Codable { /// - Returns: Roman Numeral notation public func romanNumeralNotation(in key: Key) -> String? { let capitalRomanNumerals = ["I", "II", "III", "IV", "V", "VI", "VII"] - if let index = key.primaryTriads.firstIndex(where: { $0 == self }) { + if let index = key.primaryTriads().firstIndex(where: { $0 == self }) { let romanNumeral = capitalRomanNumerals[index] switch type { case .major: return romanNumeral diff --git a/Tests/TonicTests/ChordTests.swift b/Tests/TonicTests/ChordTests.swift index 145b9e3..9f74204 100644 --- a/Tests/TonicTests/ChordTests.swift +++ b/Tests/TonicTests/ChordTests.swift @@ -185,15 +185,15 @@ class ChordTests: XCTestCase { } func testRomanNumerals() { - XCTAssertEqual(Key.C.primaryTriads.map { $0.romanNumeralNotation(in: Key.C) ?? "" }, + XCTAssertEqual(Key.C.primaryTriads().map { $0.romanNumeralNotation(in: Key.C) ?? "" }, ["I", "ii", "iii", "IV", "V", "vi", "vii°"]) - XCTAssertEqual(Key.C.primaryTriads.map { $0.romanNumeralNotation(in: Key.Am) ?? "" }, + XCTAssertEqual(Key.C.primaryTriads().map { $0.romanNumeralNotation(in: Key.Am) ?? "" }, ["III", "iv", "v", "VI", "VII", "i", "ii°"]) - XCTAssertEqual(Key.C.primaryTriads.map { $0.romanNumeralNotation(in: Key.G) ?? "" }, + XCTAssertEqual(Key.C.primaryTriads().map { $0.romanNumeralNotation(in: Key.G) ?? "" }, ["IV", "", "vi", "", "I", "ii", ""]) - XCTAssertEqual(Key.Am.primaryTriads.map { $0.romanNumeralNotation(in: Key.Am) ?? "" }, + XCTAssertEqual(Key.Am.primaryTriads().map { $0.romanNumeralNotation(in: Key.Am) ?? "" }, ["i", "ii°", "III", "iv", "v", "VI", "VII"]) - XCTAssertEqual(Key.Am.primaryTriads.map { $0.romanNumeralNotation(in: Key.C) ?? "" }, + XCTAssertEqual(Key.Am.primaryTriads().map { $0.romanNumeralNotation(in: Key.C) ?? "" }, ["vi", "vii°", "I", "ii", "iii", "IV", "V"]) } diff --git a/Tests/TonicTests/KeyTests.swift b/Tests/TonicTests/KeyTests.swift index 791f650..4f6fbdf 100644 --- a/Tests/TonicTests/KeyTests.swift +++ b/Tests/TonicTests/KeyTests.swift @@ -17,33 +17,33 @@ class KeyTests: XCTestCase { } func testKeyPrimaryTriads() { - XCTAssertEqual(Key.C.primaryTriads.map { $0.description }, + XCTAssertEqual(Key.C.primaryTriads().map { $0.description }, ["C", "Dm", "Em", "F", "G", "Am", "B°"]) - XCTAssertEqual(Key.Am.primaryTriads.map { $0.description }, + XCTAssertEqual(Key.Am.primaryTriads().map { $0.description }, ["Am", "B°", "C", "Dm", "Em", "F", "G"]) - XCTAssertEqual(Key.G.primaryTriads.map { $0.description }, + XCTAssertEqual(Key.G.primaryTriads().map { $0.description }, ["G", "Am", "Bm", "C", "D", "Em", "F♯°"]) - XCTAssertEqual(Key.Cs.primaryTriads.map { $0.description }, + XCTAssertEqual(Key.Cs.primaryTriads().map { $0.description }, ["C♯", "D♯m", "E♯m", "F♯", "G♯", "A♯m", "B♯°"]) - XCTAssertEqual(Key.Cb.primaryTriads.map { $0.description }, + XCTAssertEqual(Key.Cb.primaryTriads().map { $0.description }, ["C♭", "D♭m", "E♭m", "F♭", "G♭", "A♭m", "B♭°"]) } func testScalePrimaryTriads() { - XCTAssertEqual(Key(root: .C, scale: .harmonicMinor).primaryTriads.map { $0.description }, + XCTAssertEqual(Key(root: .C, scale: .harmonicMinor).primaryTriads().map { $0.description }, ["Cm", "D°", "E♭⁺", "Fm", "G", "A♭", "B°"]) - XCTAssertEqual(Key(root: .Db, scale: .phrygian).primaryTriads.map { $0.description }, + XCTAssertEqual(Key(root: .Db, scale: .phrygian).primaryTriads().map { $0.description }, ["D♭m", "E𝄫", "F♭", "G♭m", "A♭°", "B𝄫", "C♭m"]) - XCTAssertEqual(Key(root: .Ds, scale: .harmonicMinor).primaryTriads.map { $0.description }, + XCTAssertEqual(Key(root: .Ds, scale: .harmonicMinor).primaryTriads().map { $0.description }, ["D♯m", "E♯°", "F♯⁺", "G♯m", "A♯", "B", "C𝄪°"]) } func testKeyChords() { - XCTAssertEqual(Key.G.chords.count, 60) // This should only change if new chord types are added - for triad in Key.G.primaryTriads { - XCTAssert(Key.G.chords.contains(triad)) + XCTAssertEqual(Key.G.chords().count, 60) // This should only change if new chord types are added + for triad in Key.G.primaryTriads() { + XCTAssert(Key.G.chords().contains(triad)) } } diff --git a/Tests/TonicTests/ReadMeTests.swift b/Tests/TonicTests/ReadMeTests.swift index 6c71f69..ba3b424 100644 --- a/Tests/TonicTests/ReadMeTests.swift +++ b/Tests/TonicTests/ReadMeTests.swift @@ -16,12 +16,12 @@ final class ReadMeTests: XCTestCase { // What chords are in this key? func testChordsInKey() { - XCTAssertEqual(Key.Cm.chords.count, 60) + XCTAssertEqual(Key.Cm.chords().count, 60) } // What chords in this key contain this note? func testChordsInKeyContainNote() { - XCTAssertEqual(Key.C.chords.filter { $0.noteClasses.contains(.C) }.count, 36) + XCTAssertEqual(Key.C.chords().filter { $0.noteClasses.contains(.C) }.count, 36) } // What notes do these keys have in common?