/* * 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.cm.client.canvas.controls.builder; import java.util.Optional; import org.junit.Test; import org.kie.workbench.common.stunner.cm.client.canvas.CaseManagementCanvasHandler; import org.kie.workbench.common.stunner.core.client.api.ClientDefinitionManager; import org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvasHandler; import org.kie.workbench.common.stunner.core.client.canvas.controls.builder.impl.AbstractElementBuilderControl; import org.kie.workbench.common.stunner.core.client.canvas.util.CanvasLayoutUtils; import org.kie.workbench.common.stunner.core.client.command.CanvasCommandFactory; import org.kie.workbench.common.stunner.core.client.service.ClientFactoryService; import org.kie.workbench.common.stunner.core.graph.processing.index.bounds.GraphBoundsIndexer; import org.kie.workbench.common.stunner.core.graph.util.GraphUtils; import org.kie.workbench.common.stunner.core.rule.RuleManager; import org.mockito.Mock; import static org.mockito.AdditionalMatchers.eq; import static org.mockito.Mockito.*; public abstract class BaseCaseManagementBuilderControlTest { @Mock protected ClientDefinitionManager clientDefinitionManager; @Mock protected ClientFactoryService clientFactoryServices; @Mock protected GraphUtils graphUtils; @Mock protected RuleManager ruleManager; @Mock protected CanvasCommandFactory<AbstractCanvasHandler> canvasCommandFactory; @Mock protected GraphBoundsIndexer graphBoundsIndexer; @Mock protected CanvasLayoutUtils canvasLayoutUtils; @Mock protected CaseManagementCanvasHandler canvasHandler; protected AbstractElementBuilderControl control; protected void setup() { this.control = getBuilderControl(); this.control.enable(canvasHandler); when(canvasHandler.getElementAt(anyDouble(), anyDouble())).thenReturn(Optional.empty()); } protected abstract AbstractElementBuilderControl getBuilderControl(); @Test public void checkGetParentUseCanvas() { control.getParent(10.0, 20.0); verify(canvasHandler, times(1)).getElementAt(eq(10.0, 0.0), eq(20.0, 0.0)); } }