### Question:
StunnerWiresShapeStateHighlight implements WiresShapeHighlight<PickerPart.ShapePart> { @Override public void highlight(final WiresShape shape, final PickerPart.ShapePart part) { highlight(shape, part, ShapeState.HIGHLIGHT); } StunnerWiresShapeStateHighlight(final WiresManager wiresManager,
                                           final Event<CanvasUnhighlightEvent> unhighlightEvent);   StunnerWiresShapeStateHighlight(final StunnerWiresShapeHighlight delegate); @Override void highlight(final WiresShape shape,
                          final PickerPart.ShapePart part); @Override void error(final WiresShape shape,
                      final PickerPart.ShapePart shapePart); @Override void restore();  }### Answer:
@Test public void testHighlightBodyForNonHasShapeStateView() { tested.highlight(view, PickerPart.ShapePart.BODY); verify(delegate, times(1)).highlight(eq(view), eq(PickerPart.ShapePart.BODY)); verify(stateExecutor, never()).accept(any(ShapeState.class)); }
@Test public void testHighlightBodyForHasShapeStateView() { tested.highlight(viewWithState, PickerPart.ShapePart.BODY); verify(stateExecutor, times(1)).accept(eq(ShapeState.HIGHLIGHT)); verify(delegate, never()).highlight(eq(viewWithState), any(PickerPart.ShapePart.class)); }
@Test public void testHighlightBorderForNonStateView() { tested.highlight(view, PickerPart.ShapePart.BORDER); verify(delegate, times(1)).highlight(eq(view), eq(PickerPart.ShapePart.BORDER)); verify(stateExecutor, never()).accept(any(ShapeState.class)); }
@Test public void testHighlightBorderForStateView() { tested.highlight(viewWithState, PickerPart.ShapePart.BORDER); verify(delegate, times(1)).highlight(eq(viewWithState), eq(PickerPart.ShapePart.BORDER)); verify(stateExecutor, never()).accept(any(ShapeState.class)); }