InkDrop { public static InkDrop newInstance(RainbowInputController rainbowInputController) { BrushOptionsPreferences brushOptionsPreferences = BrushOptionsPreferences.newInstance(); InkDropSizeLimiter inkDropSizeLimiter = InkDropSizeLimiter.newInstance(brushOptionsPreferences); return new InkDrop(inkDropSizeLimiter, brushOptionsPreferences, rainbowInputController); } InkDrop(InkDropSizeLimiter inkDropSizeLimiter,
            BrushOptionsPreferences brushOptionsPreferences,
            RainbowInputController rainbowInputController); static InkDrop newInstance(RainbowInputController rainbowInputController); float getRadius(); BrushColor getBrushColor(); void resetRadius();  }
@Test public void testThatNewInstanceReturnsNotNullInkDrop() { assertThat(InkDrop.newInstance(rainbowInputController)).isNotNull(); }
@Test public void testThatNewInstanceReturnsANewInstance() { InkDrop firstInstance = InkDrop.newInstance(rainbowInputController); InkDrop secondInstance = InkDrop.newInstance(rainbowInputController); assertThat(firstInstance).isNotEqualTo(secondInstance); }