package com.teotigraphix.caustk.library; import static org.junit.Assert.assertEquals; import java.io.File; import java.util.List; import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import com.teotigraphix.caustk.application.CaustkApplicationUtils; import com.teotigraphix.caustk.application.ICaustkApplication; import com.teotigraphix.caustk.controller.ICaustkController; import com.teotigraphix.caustk.pattern.PatternUtils; import com.teotigraphix.caustk.sequencer.ISystemSequencer.SequencerMode; @Ignore public class PatternLibraryTest { // PART1A, PART2A, PART3A, PART1B, PART2B, PART3B private static final File A001 = new File( "src/test/java/com/teotigraphix/caustk/library/BL303A001.caustic"); private ICaustkApplication application; private ICaustkController controller; private ILibraryManager libraryManager; private Library library; @Before public void setUp() throws Exception { application = CaustkApplicationUtils.createAndRun(); controller = application.getController(); libraryManager = controller.getLibraryManager(); library = libraryManager.createLibrary("A001"); libraryManager.importPatterns(library, A001); libraryManager.saveLibrary(library); } @After public void tearDown() throws Exception { application = null; controller = null; } @Test public void test_bank_index() { assertEquals(0, PatternUtils.getBank(15)); assertEquals(1, PatternUtils.getBank(31)); assertEquals(2, PatternUtils.getBank(46)); assertEquals(3, PatternUtils.getBank(50)); assertEquals(2, PatternUtils.getBank(98)); assertEquals(3, PatternUtils.getBank(120)); assertEquals(15, PatternUtils.getPattern(31)); assertEquals(0, PatternUtils.getPattern(32)); assertEquals(15, PatternUtils.getPattern(127)); assertEquals(0, PatternUtils.getPattern(128)); //int sets = 128 / 64; // 2 //int banks = 128 / 16; // 8 // 27 [B12] bank=1, pattern=11 0 index } @Test public void test_me() { List<LibraryPatch> list1 = library.findPatchesByTagStartsWith("PART1"); assertEquals(2, list1.size()); List<LibraryPatch> list2 = library.findPatchesByTagStartsWith("PART2"); assertEquals(2, list2.size()); List<LibraryPatch> list3 = library.findPatchesByTagStartsWith("PART3"); assertEquals(2, list3.size()); List<LibraryPattern> patterns = library.getPatterns(); assertEquals(128, patterns.size()); controller.getLibraryManager().setSelectedLibrary(library); controller.getPatternManager().playPattern(1); controller.getSystemSequencer().play(SequencerMode.PATTERN); controller.getPatternManager().playPattern(0); controller.getPatternManager().playPattern(63); controller.getPatternManager().playPattern(0); controller.getPatternManager().playPattern(64); } }