From 2a1fab3d57d56474a25dd504d8b4f95c5c1e807b Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Wed, 29 Feb 2012 20:08:40 -0500 Subject: [Bleeding] Added sharp() and natural() factory functions to mirror the flat() one, sharped() and flattened() functions to get a note from an existing note, a toString(), and more tests. Addresses BUKKIT-861 --- src/test/java/org/bukkit/NoteTest.java | 60 ++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) (limited to 'src/test') diff --git a/src/test/java/org/bukkit/NoteTest.java b/src/test/java/org/bukkit/NoteTest.java index b76b0b6b..4759041a 100644 --- a/src/test/java/org/bukkit/NoteTest.java +++ b/src/test/java/org/bukkit/NoteTest.java @@ -2,6 +2,7 @@ package org.bukkit; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; @@ -79,9 +80,64 @@ public class NoteTest { new Note((byte) 3, Note.Tone.A, true); } - @Test(expected = IllegalArgumentException.class) + @Test public void createNoteOctaveNonSharpable() { - new Note((byte) 0, Note.Tone.B, true); + Note note = new Note((byte) 0, Note.Tone.B, true); + assertFalse(note.isSharped()); + assertThat(note.getTone(), is(Note.Tone.C)); + } + + @Test + public void createNoteFlat() { + Note note = Note.flat(0, Note.Tone.D); + assertTrue(note.isSharped()); + assertThat(note.getTone(), is(Note.Tone.C)); + } + + @Test + public void createNoteFlatNonFlattenable() { + Note note = Note.flat(0, Note.Tone.C); + assertFalse(note.isSharped()); + assertThat(note.getTone(), is(Note.Tone.B)); + } + + @Test + public void testFlatWrapping() { + Note note = Note.flat(1, Note.Tone.G); + assertTrue(note.isSharped()); + assertThat(note.getTone(), is(Note.Tone.F)); + } + + @Test + public void testFlatWrapping2() { + Note note = new Note(1, Note.Tone.G, false).flattened(); + assertTrue(note.isSharped()); + assertThat(note.getTone(), is(Note.Tone.F)); + } + + @Test + public void testSharpWrapping() { + Note note = new Note(1, Note.Tone.F, false).sharped(); + assertTrue(note.isSharped()); + assertThat(note.getTone(), is(Note.Tone.F)); + assertEquals(note.getOctave(), 2); + } + + @Test(expected=IllegalArgumentException.class) + public void testSharpWrapping2() { + new Note(2, Note.Tone.F, true).sharped(); + } + + @Test + public void testHighest() { + Note note = new Note(2, Note.Tone.F, true); + assertEquals(note.getId(), (byte)24); + } + + @Test + public void testLowest() { + Note note = new Note(0, Note.Tone.F, true); + assertEquals(note.getId(), (byte)0); } @Test -- cgit v1.2.3