/* * Copyright 2017 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.kie.workbench.common.stunner.client.lienzo.shape.view; import java.util.List; import com.ait.lienzo.client.core.shape.Group; import com.ait.lienzo.client.core.shape.MultiPath; import com.ait.lienzo.client.core.shape.wires.LayoutContainer; import com.ait.lienzo.client.core.types.Point2D; import com.ait.lienzo.client.widget.DragConstraintEnforcer; import com.ait.lienzo.test.LienzoMockitoTestRunner; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.kie.workbench.common.stunner.client.lienzo.canvas.wires.WiresUtils; import org.kie.workbench.common.stunner.lienzo.core.shape.wires.WiresDragConstraintEnforcer; import org.mockito.Mock; import static org.junit.Assert.*; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyDouble; import static org.mockito.Mockito.*; @RunWith(LienzoMockitoTestRunner.class) public class WiresShapeViewTest { private final static MultiPath PATH = new MultiPath(); @Mock private DragConstraintEnforcer enforcer; private WiresShapeView tested; @Before public void setup() throws Exception { this.tested = new WiresShapeView(PATH); this.tested.getGroup().setDragConstraints(enforcer); assertEquals(PATH, tested.getShape()); } @Test public void testUUID() { final String uuid = "uuid"; tested.setUUID(uuid); assertTrue(tested.getContainer().getUserData() instanceof WiresUtils.UserData); assertEquals(uuid, tested.getUUID()); assertEquals(uuid, ((WiresUtils.UserData) tested.getContainer().getUserData()).getUuid()); } @Test public void testCoordinates() { tested.setShapeX(50.5); tested.setShapeY(321.65); assertEquals(50.5, tested.getShapeX(), 0d); assertEquals(321.65, tested.getShapeY(), 0d); } @Test public void testAlpha() { tested.setAlpha(0.53); assertEquals(0.53, tested.getAlpha(), 0d); } @Test public void testFillAttributes() { tested.setFillColor("color1"); tested.setFillAlpha(0.53); assertEquals("color1", tested.getFillColor()); assertEquals(0.53, tested.getFillAlpha(), 0d); } @Test public void testStrokeAttributes() { tested.setStrokeColor("color1"); tested.setStrokeWidth(3.89); tested.setStrokeAlpha(0.53); assertEquals("color1", tested.getStrokeColor()); assertEquals(3.89, tested.getStrokeWidth(), 0d); assertEquals(0.53, tested.getStrokeAlpha(), 0d); } @Test public void testSetDragBounds() { tested.setDragBounds(1.5, 6.4, 564.78, 543.84); final WiresDragConstraintEnforcer dragEnforcer = tested.getDragEnforcer(); assertNotNull(dragEnforcer); assertTrue(dragEnforcer.getDelegate().isPresent()); assertEquals(dragEnforcer, tested.getGroup().getDragConstraints()); assertEquals(enforcer, dragEnforcer.getDelegate().get()); } @Test public void testUnSetDragBounds() { tested.setDragBounds(1.5, 6.4, 564.78, 543.84); tested.unsetDragBounds(); assertNull(tested.getDragEnforcer()); assertEquals(enforcer, tested.getGroup().getDragConstraints()); } @Test public void testMove() { final LayoutContainer container = mock(LayoutContainer.class); final Group group = mock(Group.class); when(container.getGroup()).thenReturn(group); when(container.refresh()).thenReturn(container); when(container.execute()).thenReturn(container); when(container.setOffset(any(Point2D.class))).thenReturn(container); when(container.setSize(anyDouble(), anyDouble())).thenReturn(container); this.tested = new WiresShapeView(PATH, container); tested.moveToTop(); tested.moveToBottom(); tested.moveUp(); tested.moveDown(); verify(group, times(1)).moveToTop(); verify(group, times(1)).moveToBottom(); verify(group, times(1)).moveUp(); verify(group, times(1)).moveDown(); } @Test public void testDecorators() { final List decorators = tested.getDecorators(); assertNotNull(decorators); assertEquals(1, decorators.size()); assertEquals(PATH, decorators.get(0)); } @Test public void testDestroy() { tested.destroy(); assertNull(tested.getParent()); assertNull(tested.getDragEnforcer()); } }