ZenSketch extends Rainbow implements FlowerSelectedListener { @Override public void onSketchDestroy() { super.onSketchDestroy(); getRainbowInputController().detach(); } 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 testThatOnSketchDestroyedDetachesInteractionListener() { zenSketch.onSketchDestroy(); verify(rainbowInputController).detach(); }