ZenSketch extends Rainbow implements FlowerSelectedListener { @Override public void onSketchSetup() { getRainbowInputController().attach(sketchInteractionListener); rainbowDrawer.background(DEFAULT_COLOR); inkPerformer.init(); branchPerformer.init(); musicPerformer.init(); } protected  ZenSketch(
            MusicPerformer musicPerformer,
            InkPerformer inkPerformer,
            BranchPerformer branchPerformer,
            ZenSketchView zenSketchView,
            RainbowDrawer rainbowDrawer,
            RainbowInputController rainbowInputController,
            SketchInteractionListener sketchInteractionListener,
            Listener sketchListener); static ZenSketch newInstance(ZenSketchView zenSketchView,
                                        Listener sketchListener); @Override void onSketchSetup(); @Override void onDrawingStart(); @Override void onDrawingResume(); @Override void onDrawingStep(); @Override void onDrawingPause(); @Override void onDrawingStop(); @Override void onSketchDestroy(); void clear(); void setOnPaintingListener(PaintListener paintListener); @Override void onFlowerSelected(Flower flower);  }
@Test public void testThatOnSketchSetupAttachesInteractionListener() { zenSketch.onSketchSetup(); verify(rainbowInputController).attach(sketchInteractionListener); }
@Test public void testThatOnSketchSetupSetsDefaultBackgroundColor() { zenSketch.onSketchSetup(); verify(rainbowDrawer).background(SKETCH_COLOR); }
@Test public void testThatOnSketchSetupInitInkPerformer() { zenSketch.onSketchSetup(); verify(inkPerformer).init(); }
@Test public void testThatOnSketchSetupInitBranchPerformer() { zenSketch.onSketchSetup(); verify(branchPerformer).init(); }
@Test public void testThatOnSketchSetupInitMusicPerformer() { zenSketch.onSketchSetup(); verify(musicPerformer).init(); }