Files
2026-06-17 14:00:51 +02:00

709 lines
28 KiB
Java

package jmri.jmrit.operations.rollingstock.engines;
import java.util.List;
import org.junit.Assert;
import org.junit.jupiter.api.Test;
import jmri.InstanceManager;
import jmri.jmrit.operations.OperationsTestCase;
import jmri.jmrit.operations.locations.Location;
import jmri.jmrit.operations.locations.Track;
import jmri.jmrit.operations.routes.Route;
import jmri.jmrit.operations.trains.Train;
/**
* Tests for the Operations RollingStock Engine class Last manually
* cross-checked on 20090131
* <p>
* Still to do: Engine: Destination Engine: Verify everything else EngineTypes:
* get/set Names lists EngineModels: get/set Names lists EngineLengths:
* Everything Consist: Everything Import: Everything EngineManager: Engine
* register/deregister EngineManager: Consists
*
* @author Bob Coleman Copyright (C) 2008, 2009
*/
public class EngineManagerTest extends OperationsTestCase {
private Engine e1;
private Engine e2;
private Engine e3;
private Engine e4;
private Engine e5;
private Engine e6;
private Location l1;
private Location l2;
private Location l3;
@Test
public void testCTor() {
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
Assert.assertNotNull("Manager Creation", manager);
}
@Test
public void testAddEngines() {
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
List<Engine> engineList = manager.getByIdList();
Assert.assertEquals("Starting Number of Engines", 0, engineList.size());
e1 = manager.newRS("CP", "1");
e2 = manager.newRS("ACL", "3");
e3 = manager.newRS("CP", "3");
e4 = manager.newRS("CP", "3-1");
e5 = manager.newRS("PC", "2");
e6 = manager.newRS("AA", "1");
engineList = manager.getByIdList();
Assert.assertEquals("Finishing Number of Engines", 6, engineList.size());
manager.dispose();
engineList = manager.getByIdList();
Assert.assertEquals("After dispose Number of Engines", 0, engineList.size());
}
@Test
public void testListEnginesById() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// now get engines by id
List<Engine> engineList = manager.getByIdList();
Assert.assertEquals("Number of Engines by id", 6, engineList.size());
Assert.assertEquals("1st engine in list by id", e6, engineList.get(0));
Assert.assertEquals("2nd engine in list by id", e2, engineList.get(1));
Assert.assertEquals("3rd engine in list by id", e1, engineList.get(2));
Assert.assertEquals("4th engine in list by id", e3, engineList.get(3));
Assert.assertEquals("5th engine in list by id", e4, engineList.get(4));
Assert.assertEquals("6th engine in list by id", e5, engineList.get(5));
}
@Test
public void testListEnginesByBuildDate() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// setup the engines
e1.setBuilt("2016");
e2.setBuilt("1212");
e3.setBuilt("100"); // this stays 100
e4.setBuilt("10"); // this becomes 1910
e5.setBuilt("07-55"); // this becomes 1955
e6.setBuilt("1956");
// now get engines by built
List<Engine> engineList = manager.getByBuiltList();
Assert.assertEquals("Number of Engines by built", 6, engineList.size());
Assert.assertEquals("1st engine in list by built", e3, engineList.get(0));
Assert.assertEquals("2nd engine in list by built", e2, engineList.get(1));
Assert.assertEquals("3rd engine in list by built", e4, engineList.get(2));
Assert.assertEquals("4th engine in list by built", e5, engineList.get(3));
Assert.assertEquals("5th engine in list by built", e6, engineList.get(4));
Assert.assertEquals("6th engine in list by built", e1, engineList.get(5));
}
@Test
public void testListEnginesByMoves() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// setup the engines
e1.setMoves(2);
e2.setMoves(44);
e3.setMoves(99999);
e4.setMoves(33);
e5.setMoves(4);
e6.setMoves(9999);
// now get engines by moves
List<Engine> engineList = manager.getByMovesList();
Assert.assertEquals("Number of Engines by move", 6, engineList.size());
Assert.assertEquals("1st engine in list by move", e1, engineList.get(0));
Assert.assertEquals("2nd engine in list by move", e5, engineList.get(1));
Assert.assertEquals("3rd engine in list by move", e4, engineList.get(2));
Assert.assertEquals("4th engine in list by move", e2, engineList.get(3));
Assert.assertEquals("5th engine in list by move", e6, engineList.get(4));
Assert.assertEquals("6th engine in list by move", e3, engineList.get(5));
}
@Test
public void testListEnginesByOwner() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// setup the engines
e1.setOwnerName("LAST");
e2.setOwnerName("FOOL");
e3.setOwnerName("AAA");
e4.setOwnerName("DAD");
e5.setOwnerName("DAB");
e6.setOwnerName("BOB");
// now get engines by owner
List<Engine> engineList = manager.getByOwnerList();
Assert.assertEquals("Number of Engines by owner", 6, engineList.size());
Assert.assertEquals("1st engine in list by owner", e3, engineList.get(0));
Assert.assertEquals("2nd engine in list by owner", e6, engineList.get(1));
Assert.assertEquals("3rd engine in list by owner", e5, engineList.get(2));
Assert.assertEquals("4th engine in list by owner", e4, engineList.get(3));
Assert.assertEquals("5th engine in list by owner", e2, engineList.get(4));
Assert.assertEquals("6th engine in list by owner", e1, engineList.get(5));
}
@Test
public void testListEnginesByRoadName() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// now get engines by road name
List<Engine> engineList = manager.getByRoadNameList();
Assert.assertEquals("Number of Engines by road name", 6, engineList.size());
Assert.assertEquals("1st engine in list by road name", e6, engineList.get(0));
Assert.assertEquals("2nd engine in list by road name", e2, engineList.get(1));
Assert.assertEquals("3rd engine in list by road name", e1, engineList.get(2));
Assert.assertEquals("4th engine in list by road name", e3, engineList.get(3));
Assert.assertEquals("5th engine in list by road name", e4, engineList.get(4));
Assert.assertEquals("6th engine in list by road name", e5, engineList.get(5));
}
@Test
public void testListEnginesByConsist() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// setup the engines
e1.setConsist(new Consist("F"));
e2.setConsist(new Consist("D"));
e3.setConsist(new Consist("B"));
e4.setConsist(new Consist("A"));
e5.setConsist(new Consist("C"));
e6.setConsist(new Consist("E"));
// now get engines by consist
List<Engine> engineList = manager.getByConsistList();
Assert.assertEquals("Number of Engines by consist", 6, engineList.size());
Assert.assertEquals("1st engine in list by consist", e4, engineList.get(0));
Assert.assertEquals("2nd engine in list by consist", e3, engineList.get(1));
Assert.assertEquals("3rd engine in list by consist", e5, engineList.get(2));
Assert.assertEquals("4th engine in list by consist", e2, engineList.get(3));
Assert.assertEquals("5th engine in list by consist", e6, engineList.get(4));
Assert.assertEquals("6th engine in list by consist", e1, engineList.get(5));
}
@Test
public void testListEnginesByLocation() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// now get engines by location
List<Engine> engineList = manager.getByLocationList();
Assert.assertEquals("Number of Engines by location", 6, engineList.size());
Assert.assertEquals("1st engine in list by location", e6, engineList.get(0));
Assert.assertEquals("2nd engine in list by location", e5, engineList.get(1));
Assert.assertEquals("3rd engine in list by location", e1, engineList.get(2));
Assert.assertEquals("4th engine in list by location", e2, engineList.get(3));
Assert.assertEquals("5th engine in list by location", e4, engineList.get(4));
Assert.assertEquals("6th engine in list by location", e3, engineList.get(5));
}
@Test
public void testListEnginesByDestination() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// now get engines by destination
List<Engine> engineList = manager.getByDestinationList();
Assert.assertEquals("Number of Engines by destination", 6, engineList.size());
Assert.assertEquals("1st engine in list by destination", e2, engineList.get(0));
Assert.assertEquals("2nd engine in list by destination", e1, engineList.get(1));
Assert.assertEquals("3rd engine in list by destination", e5, engineList.get(2));
Assert.assertEquals("4th engine in list by destination", e6, engineList.get(3));
Assert.assertEquals("5th engine in list by destination", e3, engineList.get(4));
Assert.assertEquals("6th engine in list by destination", e4, engineList.get(5));
}
@Test
public void testListEnginesByTrain() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
Route r = new Route("id", "Test");
r.addLocation(l1);
r.addLocation(l2);
r.addLocation(l3);
Train t1 = new Train("id1", "F");
t1.setRoute(r);
Train t3 = new Train("id3", "E");
t3.setRoute(r);
// setup the engines
e1.setTrain(t1);
e2.setTrain(t3);
e3.setTrain(t3);
e4.setTrain(new Train("id4", "B"));
e5.setTrain(t3);
e6.setTrain(new Train("id6", "A"));
// now get engines by train
List<Engine> engineList = manager.getByTrainList();
Assert.assertEquals("Number of Engines by train", 6, engineList.size());
Assert.assertEquals("1st engine in list by train", e6, engineList.get(0));
Assert.assertEquals("2nd engine in list by train", e4, engineList.get(1));
Assert.assertEquals("3rd engine in list by train", e5, engineList.get(2));
Assert.assertEquals("4th engine in list by train", e2, engineList.get(3));
Assert.assertEquals("5th engine in list by train", e3, engineList.get(4));
Assert.assertEquals("6th engine in list by train", e1, engineList.get(5));
}
@Test
public void testListEnginesBySpecifiedTrain() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
Route r = new Route("id", "Test");
r.addLocation(l1);
r.addLocation(l2);
r.addLocation(l3);
Train t1 = new Train("id1", "F");
t1.setRoute(r);
Train t3 = new Train("id3", "E");
t3.setRoute(r);
// setup the engines
e1.setTrain(t1);
e2.setTrain(t3);
e3.setTrain(t3);
e4.setTrain(new Train("id4", "B"));
e5.setTrain(t3);
e6.setTrain(new Train("id6", "A"));
// now get engines by specific train
List<Engine> engineList = manager.getByTrainBlockingList(t1);
Assert.assertEquals("Number of Engines in t1", 1, engineList.size());
Assert.assertEquals("1st engine in list by t1", e1, engineList.get(0));
engineList = manager.getByTrainBlockingList(t3);
Assert.assertEquals("Number of Engines in t3", 3, engineList.size());
Assert.assertEquals("1st engine in list by t3", e5, engineList.get(0));
Assert.assertEquals("2nd engine in list by t3", e2, engineList.get(1));
Assert.assertEquals("3rd engine in list by t3", e3, engineList.get(2));
}
@Test
public void testListAvaialbleEngines() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
Route r = new Route("id", "Test");
r.addLocation(l1);
r.addLocation(l2);
r.addLocation(l3);
Train t1 = new Train("id1", "F");
t1.setRoute(r);
Train t3 = new Train("id3", "E");
t3.setRoute(r);
// setup the engines
e1.setTrain(t1);
e2.setTrain(t3);
e3.setTrain(t3);
e4.setTrain(new Train("id4", "B"));
e5.setTrain(t3);
e6.setTrain(new Train("id6", "A"));
// now get engines by specific train
// how many engines available?
List<Engine> engineList = manager.getAvailableTrainList(t1);
Assert.assertEquals("Number of Engines available for t1", 1, engineList.size());
Assert.assertEquals("1st engine in list available for t1", e1, engineList.get(0));
engineList = manager.getAvailableTrainList(t3);
Assert.assertEquals("Number of Engines available for t3", 3, engineList.size());
Assert.assertEquals("1st engine in list available for t3", e5, engineList.get(0));
Assert.assertEquals("2nd engine in list available for t3", e2, engineList.get(1));
Assert.assertEquals("3rd engine in list available for t3", e3, engineList.get(2));
}
@Test
public void testAvailableAfterReleaseFromTrain() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
Route r = new Route("id", "Test");
r.addLocation(l1);
r.addLocation(l2);
r.addLocation(l3);
Train t1 = new Train("id1", "F");
t1.setRoute(r);
Train t3 = new Train("id3", "E");
t3.setRoute(r);
// setup the engines
e1.setTrain(t1);
e2.setTrain(t3);
e3.setTrain(t3);
e4.setTrain(new Train("id4", "B"));
e5.setTrain(t3);
e6.setTrain(new Train("id6", "A"));
// release engines from trains
e2.setTrain(null);
e4.setTrain(null); // e4 is located in the middle of the route, therefore not available
e6.setTrain(null); // e6 is located at the end of the route, therefore not available
// there should be more engines now
List<Engine> engineList = manager.getAvailableTrainList(t1);
Assert.assertEquals("Number of Engines available t1 after release", 4, engineList.size());
// should be sorted by moves
Assert.assertEquals("1st engine in list available for t1", e1, engineList.get(0));
Assert.assertEquals("2nd engine in list available for t1", e4, engineList.get(1));
engineList = manager.getAvailableTrainList(t3);
Assert.assertEquals("Number of Engines available for t3 after release", 5, engineList.size());
Assert.assertEquals("1st engine in list available for t3", e5, engineList.get(0));
}
@Test
public void testListEnginesByNumber() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// now get engines by road number
List<Engine> engineList = manager.getByNumberList();
Assert.assertEquals("Number of Engines by number", 6, engineList.size());
Assert.assertEquals("1st engine in list by number", e6, engineList.get(0));
Assert.assertEquals("2nd engine in list by number", e1, engineList.get(1));
Assert.assertEquals("3rd engine in list by number", e5, engineList.get(2));
Assert.assertEquals("4th engine in list by number", e2, engineList.get(3));
Assert.assertEquals("5th engine in list by number", e3, engineList.get(4));
Assert.assertEquals("6th engine in list by number", e4, engineList.get(5));
}
@Test
public void testFindEnginesByRoadNameAndNumber() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// find engine by road and number
Assert.assertEquals("find e1 by road and number", e1, manager.getByRoadAndNumber("CP", "1"));
Assert.assertEquals("find e2 by road and number", e2, manager.getByRoadAndNumber("ACL", "3"));
Assert.assertEquals("find e3 by road and number", e3, manager.getByRoadAndNumber("CP", "3"));
Assert.assertEquals("find e4 by road and number", e4, manager.getByRoadAndNumber("CP", "3-1"));
Assert.assertEquals("find e5 by road and number", e5, manager.getByRoadAndNumber("PC", "2"));
Assert.assertEquals("find e6 by road and number", e6, manager.getByRoadAndNumber("AA", "1"));
}
@Test
public void testListEnginesByRfid() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// make sure the ID tags exist before we
// try to add it to an engine.
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("SQ1");
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("1Ab");
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("Ase");
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("asd");
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("93F");
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("B12");
// setup the engines
e1.setRfid("SQ1");
e2.setRfid("1Ab");
e3.setRfid("Ase");
e4.setRfid("asd");
e5.setRfid("93F");
e6.setRfid("B12");
// now get engines by RFID
List<Engine> engineList = manager.getByRfidList();
Assert.assertEquals("Number of Engines by rfid", 6, engineList.size());
Assert.assertEquals("1st engine in list by rfid", e2, engineList.get(0));
Assert.assertEquals("2nd engine in list by rfid", e5, engineList.get(1));
Assert.assertEquals("3rd engine in list by rfid", e4, engineList.get(2));
Assert.assertEquals("4th engine in list by rfid", e3, engineList.get(3));
Assert.assertEquals("5th engine in list by rfid", e6, engineList.get(4));
Assert.assertEquals("6th engine in list by rfid", e1, engineList.get(5));
}
@Test
public void testFindEnginesByRfid() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// make sure the ID tags exist before we
// try to add it to an engine.
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("SQ1");
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("1Ab");
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("Ase");
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("asd");
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("93F");
jmri.InstanceManager.getDefault(jmri.IdTagManager.class).provideIdTag("B12");
// setup the engines
e1.setRfid("SQ1");
e2.setRfid("1Ab");
e3.setRfid("Ase");
e4.setRfid("asd");
e5.setRfid("93F");
e6.setRfid("B12");
// find engine by RFID
Assert.assertEquals("find e1 by rfid", e1, manager.getByRfid("IDSQ1"));
Assert.assertEquals("find e2 by rfid", e2, manager.getByRfid("ID1Ab"));
Assert.assertEquals("find e3 by rfid", e3, manager.getByRfid("IDAse"));
Assert.assertEquals("find e4 by rfid", e4, manager.getByRfid("IDasd"));
Assert.assertEquals("find e5 by rfid", e5, manager.getByRfid("ID93F"));
Assert.assertEquals("find e6 by rfid", e6, manager.getByRfid("IDB12"));
}
@Test
public void testListEnginesByType() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
// now get engines by model
List<Engine> engineList = manager.getByModelList();
Assert.assertEquals("Number of Engines by type", 6, engineList.size());
Assert.assertEquals("1st engine in list by type", e3, engineList.get(0));
Assert.assertEquals("2nd engine in list by type", e4, engineList.get(1));
Assert.assertEquals("3rd engine in list by type", e5, engineList.get(2));
Assert.assertEquals("4th engine in list by type", e2, engineList.get(3));
Assert.assertEquals("5th engine in list by type", e6, engineList.get(4));
Assert.assertEquals("6th engine in list by type", e1, engineList.get(5));
}
@Test
public void testListEnginesByLastMovedDate() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
java.util.Calendar cal = java.util.Calendar.getInstance();
java.util.Date start = cal.getTime(); // save to rest time, to avoid
// test probelms if run near
// midnight.
java.util.Date time = cal.getTime();
e1.setLastDate(time); // right now
cal.setTime(start);
cal.add(java.util.Calendar.HOUR_OF_DAY, -1);
time = cal.getTime();
e2.setLastDate(time); // one hour ago
cal.setTime(start);
cal.add(java.util.Calendar.HOUR_OF_DAY, 1);
time = cal.getTime();
e3.setLastDate(time); // one hour from now
cal.setTime(start);
cal.set(java.util.Calendar.DAY_OF_MONTH, -1);
time = cal.getTime();
e4.setLastDate(time); // one day ago.
cal.setTime(start);
cal.add(java.util.Calendar.DAY_OF_MONTH, 1);
time = cal.getTime();
e5.setLastDate(time); // one day in the future now.
cal.setTime(start);
cal.add(java.util.Calendar.YEAR, -1);
time = cal.getTime();
e6.setLastDate(time); // one year ago.
// now get engines by last move date.
List<Engine> engineList = manager.getByLastDateList();
Assert.assertEquals("Number of Engines by last move date", 6, engineList.size());
Assert.assertEquals("1st engine in list by move date", e6, engineList.get(0));
Assert.assertEquals("2nd engine in list by move date", e4, engineList.get(1));
Assert.assertEquals("3rd engine in list by move date", e2, engineList.get(2));
Assert.assertEquals("4th engine in list by move date", e1, engineList.get(3));
Assert.assertEquals("5th engine in list by move date", e3, engineList.get(4));
Assert.assertEquals("6th engine in list by move date", e5, engineList.get(5));
}
@Test
public void testSortListedEnginesByLastMovedDate() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
java.util.Calendar cal = java.util.Calendar.getInstance();
java.util.Date start = cal.getTime(); // save to rest time, to avoid
// test probelms if run near
// midnight.
java.util.Date time = cal.getTime();
e1.setLastDate(time); // right now
cal.setTime(start);
cal.add(java.util.Calendar.HOUR_OF_DAY, -1);
time = cal.getTime();
e2.setLastDate(time); // one hour ago
cal.setTime(start);
cal.add(java.util.Calendar.HOUR_OF_DAY, 1);
time = cal.getTime();
e3.setLastDate(time); // one hour from now
cal.setTime(start);
cal.set(java.util.Calendar.DAY_OF_MONTH, -1);
time = cal.getTime();
e4.setLastDate(time); // one day ago.
cal.setTime(start);
cal.add(java.util.Calendar.DAY_OF_MONTH, 1);
time = cal.getTime();
e5.setLastDate(time); // one day in the future now.
cal.setTime(start);
cal.add(java.util.Calendar.YEAR, -1);
time = cal.getTime();
e6.setLastDate(time); // one year ago.
// now get engines by last move date.
List<Engine> engineList = manager.getByLastDateList();
Assert.assertEquals("Number of Engines by last move date", 6, engineList.size());
Assert.assertEquals("1st engine in list by move date", e6, engineList.get(0));
Assert.assertEquals("2nd engine in list by move date", e4, engineList.get(1));
Assert.assertEquals("3rd engine in list by move date", e2, engineList.get(2));
Assert.assertEquals("4th engine in list by move date", e1, engineList.get(3));
Assert.assertEquals("5th engine in list by move date", e3, engineList.get(4));
Assert.assertEquals("6th engine in list by move date", e5, engineList.get(5));
}
@Test
public void testListEnginesAtLocation() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
List<Engine> engineList = manager.getList(l1);
Assert.assertEquals("Number of Engines at location", 2, engineList.size());
Assert.assertTrue("e1 in engine list at location", engineList.contains(e1));
Assert.assertTrue("e2 in engine list at location", engineList.contains(e2));
Assert.assertFalse("e3 not in engine list at location", engineList.contains(e3));
}
@Test
public void testListEnginesOnTrack() {
resetEngineManager();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
Track l1t1 = l1.getTrackByName("A", Track.SPUR);
List<Engine> engineList = manager.getList(l1t1);
Assert.assertEquals("Number of Engines on track", 1, engineList.size());
Assert.assertTrue("e1 in engine list on track", engineList.contains(e1));
Assert.assertFalse("e2 not in engine list on track", engineList.contains(e2));
Assert.assertFalse("e3 not in engine list on track", engineList.contains(e3));
}
private void resetEngineManager() {
InstanceManager.getDefault(EngineManager.class).dispose();
EngineManager manager = InstanceManager.getDefault(EngineManager.class);
e1 = manager.newRS("CP", "1");
e2 = manager.newRS("ACL", "3");
e3 = manager.newRS("CP", "3");
e4 = manager.newRS("CP", "3-1");
e5 = manager.newRS("PC", "2");
e6 = manager.newRS("AA", "1");
e1.setModel("GP356");
e2.setModel("GP354");
e3.setModel("GP351");
e4.setModel("GP352");
e5.setModel("GP353");
e6.setModel("GP355");
e1.setTypeName("Diesel");
e2.setTypeName("Diesel");
e3.setTypeName("Diesel");
e4.setTypeName("Diesel");
e5.setTypeName("Diesel");
e6.setTypeName("Diesel");
e1.setLength("13");
e2.setLength("9");
e3.setLength("12");
e4.setLength("10");
e5.setLength("11");
e6.setLength("14");
l1 = new Location("id1", "B");
Track l1t1 = l1.addTrack("A", Track.SPUR);
Track l1t2 = l1.addTrack("B", Track.SPUR);
l2 = new Location("id2", "C");
Track l2t1 = l2.addTrack("B", Track.SPUR);
Track l2t2 = l2.addTrack("A", Track.SPUR);
l3 = new Location("id3", "A");
Track l3t1 = l3.addTrack("B", Track.SPUR);
Track l3t2 = l3.addTrack("A", Track.SPUR);
// add track lengths
l1t1.setLength(100);
l1t2.setLength(100);
l2t1.setLength(100);
l2t2.setLength(100);
l3t1.setLength(100);
l3t2.setLength(100);
l1.addTypeName("Diesel");
l2.addTypeName("Diesel");
l3.addTypeName("Diesel");
l1t1.addTypeName("Diesel");
l1t2.addTypeName("Diesel");
l2t1.addTypeName("Diesel");
l2t2.addTypeName("Diesel");
l3t1.addTypeName("Diesel");
l3t2.addTypeName("Diesel");
EngineTypes et = InstanceManager.getDefault(EngineTypes.class);
et.addName("Diesel");
// place engines on tracks
e1.setLocation(l1, l1t1);
e2.setLocation(l1, l1t2);
e3.setLocation(l2, l2t1);
e4.setLocation(l2, l2t2);
e5.setLocation(l3, l3t1);
e6.setLocation(l3, l3t2);
// set engine destinations
e1.setDestination(l3, l3t1);
e2.setDestination(l3, l3t2);
e3.setDestination(l2, l2t2);
e4.setDestination(l2, l2t1);
e5.setDestination(l1, l1t1);
e6.setDestination(l1, l1t2);
e1.setMoves(2);
e2.setMoves(44);
e3.setMoves(99999);
e4.setMoves(33);
e5.setMoves(4);
e6.setMoves(9999);
}
}