private static void testDirector(ModelPerformer[] performers) throws Exception { final TreeSet<Integer> played = new TreeSet<Integer>(); ModelDirectedPlayer player = new ModelDirectedPlayer() { public void play(int performerIndex, ModelConnectionBlock[] connectionBlocks) { played.add(performerIndex); } }; ModelStandardIndexedDirector idirector = new ModelStandardIndexedDirector(performers, player); ModelStandardDirector director = new ModelStandardDirector(performers, player); for (int n = 0; n < 128; n++) { for (int v = 0; v < 128; v++) { director.noteOn(n, v); String p1 = treeToString(played); played.clear(); idirector.noteOn(n, v); String p2 = treeToString(played); played.clear(); if(!p1.equals(p2)) throw new Exception( "Note = " + n + ", Vel = " + v + " failed"); } } }