Gridarta Editor
ExitConnectorActionsTest.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2023 The Gridarta Developers.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 package net.sf.gridarta.actions;
21 
22 import java.awt.Point;
23 import java.io.File;
39 import net.sf.gridarta.utils.Size2D;
40 import org.jetbrains.annotations.NotNull;
41 import org.jetbrains.annotations.Nullable;
42 import org.junit.Assert;
43 import org.junit.Before;
44 import org.junit.Test;
45 
51 
55  @NotNull
56  private static final MapFile BASE = new MapFile(new File("/tmp"));
57 
61  @NotNull
62  private static final MapFile MAP_FILE1 = new MapFile(BASE, "a");
63 
67  @NotNull
68  private static final String MAP_NAME1 = "name1";
69 
73  @NotNull
74  private static final MapFile MAP_FILE2 = new MapFile(BASE, "b");
75 
79  @NotNull
80  private static final String MAP_NAME2 = "name2";
81 
85  @Nullable
87 
91  @Nullable
93 
98  @Test
99  public void testExitCopy1() {
100  final ExitConnectorModel model = new TestExitConnectorModel();
102  final Size2D mapSize = new Size2D(5, 5);
103  assert testMapControlCreator != null;
105 
106  // active ==> enabled
107  final Point point1 = new Point(3, 4);
108  Assert.assertTrue(actions.doExitCopy(false, mapControl, point1));
109  Assert.assertNull(model.getExitLocation());
110 
111  // perform copy
112  Assert.assertTrue(actions.doExitCopy(true, mapControl, point1));
113  assert testMapControlCreator != null;
114  Assert.assertEquals(new ExitLocation(MAP_FILE1, point1, MAP_NAME1), model.getExitLocation());
115 
116  // unsaved map ==> disabled
117  mapControl.getMapModel().setMapFile(null);
118  Assert.assertFalse(actions.doExitCopy(false, mapControl, point1));
119  assert testMapControlCreator != null;
120  Assert.assertEquals(new ExitLocation(MAP_FILE1, point1, MAP_NAME1), model.getExitLocation()); // disabled -> unchanged model
121  }
122 
127  @Test
128  public void testExitPaste1() {
129  final ExitConnectorModel model = new TestExitConnectorModel();
131  final Size2D mapSize = new Size2D(5, 5);
132  assert testMapControlCreator != null;
135 
136  final Point point1 = new Point(3, 4);
137  final Point point2 = new Point(1, 2);
138 
139  assert testMapControlCreator != null;
140  model.setExitLocation(new ExitLocation(MAP_FILE2, point2, MAP_NAME2));
141 
142  // no exit at cursor and no auto-create ==> disabled
143  Assert.assertFalse(actions.doExitPaste(false, mapControl, point1));
144 
145  mapModel.beginTransaction("TEST");
146  try {
147  assert mapModelHelper != null;
148  mapModelHelper.insertFloor(mapModel, point1);
149  } finally {
150  mapModel.endTransaction();
151  }
152 
153  // no exit at cursor and no auto-create ==> disabled
154  Assert.assertFalse(actions.doExitPaste(false, mapControl, point1));
155 
156  mapModel.beginTransaction("TEST");
157  try {
158  assert mapModelHelper != null;
159  mapModelHelper.insertExit(mapModel, point1);
160  } finally {
161  mapModel.endTransaction();
162  }
163 
164  // exit at cursor ==> enabled
165  Assert.assertTrue(actions.doExitPaste(false, mapControl, point1));
166  checkExit(mapModel, point1, 1, "", new Point(0, 0)); // "check only" ==> exit is unchanged
167 
168  // perform paste
169  Assert.assertTrue(actions.doExitPaste(true, mapControl, point1));
170  checkExit(mapModel, point1, 1, "b", point2);
171  }
172 
177  @Test
178  public void testExitPaste2() {
179  final ExitConnectorModel model = new TestExitConnectorModel();
181  final Size2D mapSize = new Size2D(5, 5);
182 
183  assert testMapControlCreator != null;
186 
187  final Point point1 = new Point(3, 4);
188  final Point point2 = new Point(1, 2);
189 
190  assert testMapControlCreator != null;
191  model.setExitLocation(new ExitLocation(MAP_FILE2, point2, MAP_NAME2));
192 
193  model.setAutoCreateExit(true);
194 
195  // copy must fail for unsaved map
196  mapModel1.setMapFile(null); // pretend unsaved map
197  Assert.assertFalse(actions.doExitCopy(true, mapControl1, point1));
198 
199  // paste must succeed for unsaved map
200  Assert.assertTrue(actions.doExitPaste(true, mapControl1, point1));
201  }
202 
207  @Test
208  public void testExitConnect1() {
209  final ExitConnectorModel model = new TestExitConnectorModel();
211 
212  final Size2D mapSize = new Size2D(5, 5);
213  assert testMapControlCreator != null;
216 
217  assert testMapControlCreator != null;
220 
221  final Point point1 = new Point(3, 4);
222  final Point point2 = new Point(1, 2);
223 
224  assert testMapControlCreator != null;
225  model.setExitLocation(new ExitLocation(MAP_FILE2, point2, MAP_NAME2));
226 
227  // no exit at cursor and no auto-create ==> disabled
228  Assert.assertFalse(actions.doExitConnect(false, mapControl1, point1));
229 
230  mapModel1.beginTransaction("TEST");
231  try {
232  assert mapModelHelper != null;
233  mapModelHelper.insertFloor(mapModel1, point1);
234  } finally {
235  mapModel1.endTransaction();
236  }
237 
238  // no exit at cursor and no auto-create ==> disabled
239  Assert.assertFalse(actions.doExitConnect(false, mapControl1, point1));
240 
241  mapModel1.beginTransaction("TEST");
242  try {
243  assert mapModelHelper != null;
244  mapModelHelper.insertExit(mapModel1, point1);
245  } finally {
246  mapModel1.endTransaction();
247  }
248 
249  // no exit at source and no auto-create ==> disabled
250  Assert.assertFalse(actions.doExitConnect(false, mapControl1, point1));
251 
252  mapModel2.beginTransaction("TEST");
253  try {
254  assert mapModelHelper != null;
255  mapModelHelper.insertExit(mapModel2, point2);
256  } finally {
257  mapModel2.endTransaction();
258  }
259 
260  // exit at source and cursor ==> enabled
261  Assert.assertTrue(actions.doExitConnect(false, mapControl1, point1));
262  checkExit(mapModel1, point1, 1, "", new Point(0, 0)); // "check only" ==> exit is unchanged
263  checkExit(mapModel2, point2, 0, "", new Point(0, 0));
264 
265  // perform connect
266  Assert.assertTrue(actions.doExitConnect(true, mapControl1, point1));
267  checkExit(mapModel1, point1, 1, "b", point2);
268  checkExit(mapModel2, point2, 0, "a", point1);
269  }
270 
275  @Test
276  public void testExitConnectAuto1() {
277  final ExitConnectorModel model = new TestExitConnectorModel();
279 
280  final Size2D mapSize = new Size2D(5, 5);
281  assert testMapControlCreator != null;
284 
285  assert testMapControlCreator != null;
288 
289  final Point point1 = new Point(3, 4);
290  final Point point2 = new Point(1, 2);
291 
292  assert testMapControlCreator != null;
293  model.setExitLocation(new ExitLocation(MAP_FILE2, point2, MAP_NAME2));
294  model.setAutoCreateExit(true);
295 
296  model.setExitArchetypeName("undefined");
297 
298  // fails due to undefined archetype
299  Assert.assertFalse(actions.doExitConnect(true, mapControl1, point1));
300  checkExit(mapModel1, point1, 0, null, null);
301  checkExit(mapModel2, point2, 0, null, null);
302 
303  model.setExitArchetypeName("exit");
304 
305  // perform connect
306  Assert.assertTrue(actions.doExitConnect(true, mapControl1, point1));
307  checkExit(mapModel1, point1, 0, "b", point2);
308  checkExit(mapModel2, point2, 0, "a", point1);
309 
310  // perform connect; auto-create will re-use existing objects
311  Assert.assertTrue(actions.doExitConnect(true, mapControl1, point1));
312  checkExit(mapModel1, point1, 0, "b", point2);
313  checkExit(mapModel1, point1, 1, null, null);
314  checkExit(mapModel2, point2, 0, "a", point1);
315  checkExit(mapModel2, point2, 1, null, null);
316  }
317 
321  @Test
322  public void testPath1() {
323  // both root ==> relative
324  testPath("/a", "/b", "b"); // both root ==> relative
325 
326  // to or from root ==> absolute
327  testPath("/HallOfSelection", "/world/world_104_115", "/world/world_104_115");
328  testPath("/world/world_104_115", "/HallOfSelection", "/HallOfSelection");
329 
330  // same top-level component ==> relative
331  testPath("/a/b/c/d", "/a/d/e", "../../d/e");
332  testPath("/a/b/c/d", "/a/b/d", "../d");
333  testPath("/a/b/c", "/a/b/d", "d");
334  testPath("/a/b/c", "/a/b/c/d", "c/d");
335 
336  // else ==> absolute
337  testPath("/a/b/c", "/b/c/d", "/b/c/d");
338  testPath("/a/b", "/b", "/b");
339  testPath("/a", "/b/c", "/b/c");
340  }
341 
349  private void testPath(@NotNull final String mapPathFrom, @NotNull final String mapPathTo, @NotNull final String expectedExitPath) {
350  final ExitConnectorModel model = new TestExitConnectorModel();
352 
353  assert testMapControlCreator != null;
355  final MapFile mapFileFrom = new MapFile(mapDir, MapPathUtils.newMapPath(mapPathFrom));
356  final MapFile mapFileTo = new MapFile(mapDir, MapPathUtils.newMapPath(mapPathTo));
357 
358  final Size2D mapSize = new Size2D(5, 5);
359  assert testMapControlCreator != null;
362 
363  final Point pointFrom = new Point(3, 4);
364  final Point pointTo = new Point(1, 2);
365 
366  assert testMapControlCreator != null;
367  model.setExitLocation(new ExitLocation(mapFileTo, pointTo, MAP_NAME2));
368  mapModel.beginTransaction("TEST");
369  try {
370  assert mapModelHelper != null;
371  mapModelHelper.insertExit(mapModel, pointFrom);
372  } finally {
373  mapModel.endTransaction();
374  }
375 
376  // perform connect
377  Assert.assertTrue(actions.doExitPaste(true, mapControl, pointFrom));
378  checkExit(mapModel, pointFrom, 0, expectedExitPath, pointTo);
379  }
380 
385  @Before
386  public void setUp() throws DuplicateArchetypeException {
389  }
390 
397  final TestMapControlCreator tmpTestMapControlCreator = testMapControlCreator;
398  assert tmpTestMapControlCreator != null;
399  return new ExitConnectorActions<>(model, tmpTestMapControlCreator.getExitMatcher(), tmpTestMapControlCreator.getArchetypeSet(), tmpTestMapControlCreator.getMapManager(), new TestFileControl(), tmpTestMapControlCreator.getInsertionModeSet());
400  }
401 
412  private static void checkExit(@NotNull final MapModel<TestGameObject, TestMapArchObject, TestArchetype> mapModel, @NotNull final Point point, final int index, @Nullable final String exitPath, @Nullable final Point exitPoint) {
413  int thisIndex = 0;
414  for (final BaseObject<?, ?, ?, ?> gameObject : mapModel.getMapSquare(point)) {
415  if (thisIndex == index) {
416  if (gameObject.getTypeNo() != TestMapModelHelper.EXIT_TYPE) {
417  break;
418  }
419 
420  if (exitPath == null || exitPoint == null) {
421  Assert.fail("exit found but none expected");
422  throw new AssertionError();
423  }
424 
425  Assert.assertEquals(exitPath, gameObject.getAttributeString(BaseObject.SLAYING));
426  Assert.assertEquals(exitPoint.x, gameObject.getAttributeInt(BaseObject.HP));
427  Assert.assertEquals(exitPoint.y, gameObject.getAttributeInt(BaseObject.SP));
428  return;
429  }
430 
431  thisIndex++;
432  }
433 
434  if (exitPath != null || exitPoint != null) {
435  Assert.fail("no exit found");
436  }
437  }
438 
439 }
net.sf.gridarta.model.archetype.TestArchetype
An Archetype implementation for testing purposes.
Definition: TestArchetype.java:30
net.sf.gridarta.model.mapcontrol.TestMapControlCreator.getMapManager
MapManager< TestGameObject, TestMapArchObject, TestArchetype > getMapManager()
Returns the MapManager.
Definition: TestMapControlCreator.java:224
net.sf.gridarta.model.mapmanager
Definition: AbstractMapManager.java:20
net.sf.gridarta.model.mapmodel.MapModel
A MapModel reflects the data of a map.
Definition: MapModel.java:75
net.sf.gridarta.model.exitconnector.ExitConnectorModel.setExitArchetypeName
void setExitArchetypeName(@NotNull String exitArchetypeName)
Sets the archetype name for creating exit game objects.
net.sf.gridarta.actions.ExitConnectorActionsTest
Regression tests for ExitConnectorActions.
Definition: ExitConnectorActionsTest.java:50
net.sf.gridarta.model.mapmodel.TestMapModelHelper.insertExit
TestGameObject insertExit(@NotNull final MapModel< TestGameObject, TestMapArchObject, TestArchetype > mapModel, @NotNull final Point point)
Inserts an exitArchetype game object into a map model.
Definition: TestMapModelHelper.java:146
net.sf.gridarta.model.exitconnector.ExitLocation
Stores information about a remembered exit location.
Definition: ExitLocation.java:35
net.sf.gridarta
Base package of all Gridarta classes.
net.sf.gridarta.model.mapmodel.TestMapModelHelper
Helper class for creating MapModel instances for regression tests.
Definition: TestMapModelHelper.java:45
net.sf.gridarta.model.baseobject.BaseObject.SP
String SP
The attribute name of the "sp" attribute.
Definition: BaseObject.java:96
net.sf.gridarta.model.mapmodel.MapModel.endTransaction
void endTransaction()
End a transaction.
net.sf.gridarta.model.mapcontrol.TestMapControlCreator.getInsertionModeSet
InsertionModeSet< TestGameObject, TestMapArchObject, TestArchetype > getInsertionModeSet()
Returns the InsertionModeSet.
Definition: TestMapControlCreator.java:233
net.sf.gridarta.model.gameobject.TestGameObject
A GameObject implementation for testing purposes.
Definition: TestGameObject.java:34
net.sf.gridarta.actions.ExitConnectorActionsTest.createActions
ExitConnectorActions< TestGameObject, TestMapArchObject, TestArchetype > createActions(@NotNull final ExitConnectorModel model)
Creates a new ExitConnectorActions instance.
Definition: ExitConnectorActionsTest.java:396
net.sf
net.sf.gridarta.model.mapmodel.MapModel.beginTransaction
void beginTransaction(@NotNull String name)
Starts a new transaction.
net.sf.gridarta.model.exitconnector.ExitConnectorModel.setExitLocation
void setExitLocation(@Nullable ExitLocation exitLocation)
Sets the remembered exit location.
net.sf.gridarta.model.mapmodel
Definition: AboveFloorInsertionMode.java:20
net.sf.gridarta.actions.ExitConnectorActionsTest.testExitConnect1
void testExitConnect1()
Checks that MapControl, Point) does work.
Definition: ExitConnectorActionsTest.java:208
net.sf.gridarta.actions.ExitConnectorActionsTest.testExitPaste1
void testExitPaste1()
Checks that MapControl, Point) does work.
Definition: ExitConnectorActionsTest.java:128
net.sf.gridarta.actions.ExitConnectorActionsTest.testExitConnectAuto1
void testExitConnectAuto1()
Checks that MapControl, Point) does work when auto-creating exit objects.
Definition: ExitConnectorActionsTest.java:276
net.sf.gridarta.model.mapmodel.MapPathUtils.newMapPath
static MapPath newMapPath(@NotNull final String string)
Creates a MapPath instance from string representation.
Definition: MapPathUtils.java:43
net.sf.gridarta.model.archetype
Definition: AbstractArchetype.java:20
net.sf.gridarta.model.mapmodel.MapPathUtils
Utility class for MapPath related functions.
Definition: MapPathUtils.java:28
net.sf.gridarta.actions.ExitConnectorActionsTest.MAP_FILE1
static final MapFile MAP_FILE1
The first map file.
Definition: ExitConnectorActionsTest.java:62
net.sf.gridarta.model.mapcontrol
Definition: DefaultMapControl.java:20
net.sf.gridarta.actions.ExitConnectorActionsTest.BASE
static final MapFile BASE
The base MapFile for the test.
Definition: ExitConnectorActionsTest.java:56
net.sf.gridarta.model.mapmanager.TestFileControl
A FileControl implementation for testing purposes.
Definition: TestFileControl.java:34
net.sf.gridarta.model.exitconnector.TestExitConnectorModel
ExitConnectorModel implementation for regression tests.
Definition: TestExitConnectorModel.java:29
net.sf.gridarta.actions.ExitConnectorActions.doExitCopy
boolean doExitCopy(final boolean performAction, @NotNull final MapControl< G, A, R > mapControl, @NotNull final Point location)
Executes the "exit copy" action.
Definition: ExitConnectorActions.java:110
net.sf.gridarta.model.mapcontrol.TestMapControlCreator.getArchetypeSet
ArchetypeSet< TestGameObject, TestMapArchObject, TestArchetype > getArchetypeSet()
Returns the ArchetypeSet.
Definition: TestMapControlCreator.java:215
net.sf.gridarta.actions.ExitConnectorActionsTest.mapModelHelper
TestMapModelHelper mapModelHelper
The TestMapModelHelper instance.
Definition: ExitConnectorActionsTest.java:92
net.sf.gridarta.model.mapcontrol.TestMapControlCreator
Helper class for creating MapControl instances for regression tests.
Definition: TestMapControlCreator.java:68
net.sf.gridarta.model.gameobject
GameObjects are the objects based on Archetypes found on maps.
Definition: AbstractGameObject.java:20
net
net.sf.gridarta.actions.ExitConnectorActionsTest.testExitPaste2
void testExitPaste2()
Checks that MapControl, Point) does not crash when connecting to an unsaved map.
Definition: ExitConnectorActionsTest.java:178
net.sf.gridarta.model.mapcontrol.TestMapControlCreator.newMapModelCreator
TestMapModelHelper newMapModelCreator()
Creates a new TestMapModelHelper instance.
Definition: TestMapControlCreator.java:165
net.sf.gridarta.actions.ExitConnectorActionsTest.testMapControlCreator
TestMapControlCreator testMapControlCreator
The TestMapControlCreator for creating maps.
Definition: ExitConnectorActionsTest.java:86
net.sf.gridarta.actions.ExitConnectorActionsTest.setUp
void setUp()
Initializes the test case.
Definition: ExitConnectorActionsTest.java:386
net.sf.gridarta.model.mapmodel.TestMapModelHelper.insertFloor
TestGameObject insertFloor(@NotNull final MapModel< TestGameObject, TestMapArchObject, TestArchetype > mapModel, @NotNull final Point point)
Inserts a floorArchetype game object into a map model.
Definition: TestMapModelHelper.java:135
net.sf.gridarta.model.exitconnector.ExitConnectorModel.setAutoCreateExit
void setAutoCreateExit(boolean autoCreateExit)
Sets whether exit game objects should be auto-created when needed.
net.sf.gridarta.model.baseobject.BaseObject.SLAYING
String SLAYING
The name of the "slaying" attribute.
Definition: BaseObject.java:120
net.sf.gridarta.model.baseobject.BaseObject
Definition: BaseObject.java:34
net.sf.gridarta.model.mapmodel.MapFile
The location of a map file with a map directory.
Definition: MapFile.java:31
net.sf.gridarta.model.exitconnector
Definition: AbstractExitConnectorModel.java:20
net.sf.gridarta.actions.ExitConnectorActions
Utility class implementing actions that operate on ExitConnectorModels.
Definition: ExitConnectorActions.java:47
net.sf.gridarta.actions.ExitConnectorActionsTest.checkExit
static void checkExit(@NotNull final MapModel< TestGameObject, TestMapArchObject, TestArchetype > mapModel, @NotNull final Point point, final int index, @Nullable final String exitPath, @Nullable final Point exitPoint)
Checks that a map model contains an exit game object.
Definition: ExitConnectorActionsTest.java:412
net.sf.gridarta.actions.ExitConnectorActionsTest.MAP_NAME2
static final String MAP_NAME2
The second map name.
Definition: ExitConnectorActionsTest.java:80
net.sf.gridarta.actions.ExitConnectorActionsTest.testPath
void testPath(@NotNull final String mapPathFrom, @NotNull final String mapPathTo, @NotNull final String expectedExitPath)
Checks that an exit path is correctly generated.
Definition: ExitConnectorActionsTest.java:349
net.sf.gridarta.model
net.sf.gridarta.model.mapcontrol.TestMapControlCreator.getProjectSettings
ProjectSettings getProjectSettings()
Returns the ProjectSettings.
Definition: TestMapControlCreator.java:197
net.sf.gridarta.model.baseobject
Definition: AbstractBaseObject.java:20
net.sf.gridarta.model.mapmodel.TestMapModelHelper.EXIT_TYPE
static final int EXIT_TYPE
The archetype type used for "exit" game objects.
Definition: TestMapModelHelper.java:50
net.sf.gridarta.model.mapmodel.MapModel.setMapFile
void setMapFile(@Nullable MapFile mapFile)
Sets the map file.
net.sf.gridarta.model.mapcontrol.TestMapControlCreator.newMapControl
MapControl< TestGameObject, TestMapArchObject, TestArchetype > newMapControl(@Nullable final MapFile mapFile, @NotNull final String mapName, @NotNull final Size2D mapSize)
Creates a new map control.
Definition: TestMapControlCreator.java:176
net.sf.gridarta.model.archetype.DuplicateArchetypeException
An Exception indicating that an Archetype name is not unique.
Definition: DuplicateArchetypeException.java:29
net.sf.gridarta.model.exitconnector.ExitConnectorModel.getExitLocation
ExitLocation getExitLocation()
Returns the remembered exit location.
net.sf.gridarta.model.mapcontrol.MapControl
Currently nothing more than a marker interface for unification.
Definition: MapControl.java:35
net.sf.gridarta.model.mapcontrol.MapControl.getMapModel
MapModel< G, A, R > getMapModel()
Returns the map model.
net.sf.gridarta.model.maparchobject.TestMapArchObject
A MapArchObject implementation for testing purposes.
Definition: TestMapArchObject.java:28
net.sf.gridarta.model.maparchobject
Definition: AbstractMapArchObject.java:20
net.sf.gridarta.model.mapcontrol.TestMapControlCreator.getExitMatcher
ExitMatcher< TestGameObject, TestMapArchObject, TestArchetype > getExitMatcher()
Returns the ExitMatcher.
Definition: TestMapControlCreator.java:206
net.sf.gridarta.model.baseobject.BaseObject.HP
String HP
The attribute name of the "hp" attribute.
Definition: BaseObject.java:90
net.sf.gridarta.actions.ExitConnectorActionsTest.MAP_FILE2
static final MapFile MAP_FILE2
The second map file.
Definition: ExitConnectorActionsTest.java:74
net.sf.gridarta.model.settings.ProjectSettings.getMapsDirectory
File getMapsDirectory()
Returns the default maps directory.
net.sf.gridarta.actions.ExitConnectorActionsTest.testExitCopy1
void testExitCopy1()
Checks that MapControl, Point) does work.
Definition: ExitConnectorActionsTest.java:99
net.sf.gridarta.model.exitconnector.ExitConnectorModel
Stores information needed by the exit connector.
Definition: ExitConnectorModel.java:29
net.sf.gridarta.utils.Size2D
The class Size2D represents a 2d rectangular area.
Definition: Size2D.java:30
net.sf.gridarta.actions.ExitConnectorActionsTest.MAP_NAME1
static final String MAP_NAME1
The first map name.
Definition: ExitConnectorActionsTest.java:68
net.sf.gridarta.utils
Definition: ActionBuilderUtils.java:20
net.sf.gridarta.actions.ExitConnectorActions.doExitConnect
boolean doExitConnect(final boolean performAction, @NotNull final MapControl< G, A, R > mapControl, @NotNull final Point targetLocation)
Executes the "exit connect" action.
Definition: ExitConnectorActions.java:189
net.sf.gridarta.actions.ExitConnectorActionsTest.testPath1
void testPath1()
Checks that exit paths are correctly generated.
Definition: ExitConnectorActionsTest.java:322
net.sf.gridarta.actions.ExitConnectorActions.doExitPaste
boolean doExitPaste(final boolean performAction, @NotNull final MapControl< G, A, R > mapControl, @NotNull final Point targetLocation)
Executes the "exit paste" action.
Definition: ExitConnectorActions.java:133