Skip to content

Commit

Permalink
test: Size.nearestFromSemitones()
Browse files Browse the repository at this point in the history
  • Loading branch information
plammens committed Apr 2, 2024
1 parent ecf1217 commit 8d26615
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions test/src/interval/size_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,46 @@ void main() {
});
});

group('.nearestFromSemitones()', () {
test('returns the Size corresponding exactly to the given semitones', () {
expect(Size.nearestFromSemitones(-12), -Size.octave);
expect(Size.nearestFromSemitones(-5), -Size.fourth);
expect(Size.nearestFromSemitones(-3), -Size.third);
expect(Size.nearestFromSemitones(-1), -Size.second);
expect(Size.nearestFromSemitones(0), Size.unison);
expect(Size.nearestFromSemitones(1), Size.second);
expect(Size.nearestFromSemitones(3), Size.third);
expect(Size.nearestFromSemitones(5), Size.fourth);
expect(Size.nearestFromSemitones(7), Size.fifth);
expect(Size.nearestFromSemitones(8), Size.sixth);
expect(Size.nearestFromSemitones(10), Size.seventh);
expect(Size.nearestFromSemitones(12), Size.octave);
expect(Size.nearestFromSemitones(13), Size.ninth);
expect(Size.nearestFromSemitones(15), Size.tenth);
expect(Size.nearestFromSemitones(17), Size.eleventh);
expect(Size.nearestFromSemitones(19), Size.twelfth);
expect(Size.nearestFromSemitones(20), Size.thirteenth);
expect(Size.nearestFromSemitones(22), const Size(14));
expect(Size.nearestFromSemitones(24), const Size(15));
expect(Size.nearestFromSemitones(36), const Size(22));
expect(Size.nearestFromSemitones(48), const Size(29));
});

test(
'returns the nearest Size when no Size'
' corresponds exactly to the given semitones', () {
expect(Size.nearestFromSemitones(-4), -Size.third);
expect(Size.nearestFromSemitones(-2), -Size.second);
expect(Size.nearestFromSemitones(2), Size.second);
expect(Size.nearestFromSemitones(4), Size.third);
expect(Size.nearestFromSemitones(6), Size.fourth);
expect(Size.nearestFromSemitones(9), Size.sixth);
expect(Size.nearestFromSemitones(11), Size.seventh);
expect(Size.nearestFromSemitones(14), Size.ninth);
expect(Size.nearestFromSemitones(-20), -Size.thirteenth);
});
});

group('.perfect', () {
test('returns the perfect Interval from this Size', () {
expect(Size.unison.perfect, Interval.P1);
Expand Down

0 comments on commit 8d26615

Please sign in to comment.