use of uk.me.parabola.mkgmap.reader.osm.Element in project mkgmap by openstreetmap.
the class ActionReaderTest method makeElement.
/**
* Make a standard element for the tests.
*/
private Element makeElement() {
Element el = new Way(0);
el.addTag("park", "no");
el.addTag("test", "1");
return el;
}
use of uk.me.parabola.mkgmap.reader.osm.Element in project mkgmap by openstreetmap.
the class ActionReaderTest method testAlternatives.
@Test
public void testAlternatives() {
List<Action> actions = readActionsFromString("{set fred = '${park}' | 'default value'}");
Element el = makeElement();
Rule rule = new ActionRule(null, actions);
rule.resolveType(el, TypeResult.NULL_RESULT);
assertEquals("first alternative", "no", el.getTag("fred"));
}
use of uk.me.parabola.mkgmap.reader.osm.Element in project mkgmap by openstreetmap.
the class ActionReaderTest method testMultipleNoSeparators.
@Test
public void testMultipleNoSeparators() {
List<Action> actions = readActionsFromString("{" + "set park='${notset}' | yes " + "add fred=other " + "set pooh=bear}");
assertEquals("number of actions", 3, actions.size());
Element el = stdElementRun(actions);
assertEquals("park set to yes", "yes", el.getTag("park"));
assertEquals("fred set", "other", el.getTag("fred"));
assertEquals("pooh set", "bear", el.getTag("pooh"));
}
use of uk.me.parabola.mkgmap.reader.osm.Element in project mkgmap by openstreetmap.
the class ActionReaderTest method testMultipleCommands.
/**
* Test several commands in the block. They should all be executed.
*/
@Test
public void testMultipleCommands() {
List<Action> actions = readActionsFromString("{set park=yes; add fred=other;" + "set pooh=bear}");
assertEquals("number of actions", 3, actions.size());
Element el = stdElementRun(actions);
assertEquals("park set to yes", "yes", el.getTag("park"));
assertEquals("fred set", "other", el.getTag("fred"));
assertEquals("pooh set", "bear", el.getTag("pooh"));
}
use of uk.me.parabola.mkgmap.reader.osm.Element in project mkgmap by openstreetmap.
the class RuleFileReaderTest method testNestedIncludes.
/**
* Test an include file within an include file.
*/
@Test
public void testNestedIncludes() {
StyleFileLoader loader = new StringStyleFileLoader(new String[][] { { "lines", "a=1 [0x1] include 'first'; a=2 [0x2]" }, { "first", "b=1 [0x1] include 'second'; b=2 [0x2 ]" }, { "second", "c=1 [0x1] c=2 [0x2 ]" } });
RuleSet rs = makeRuleSet(loader);
Element el = new Way(1);
el.addTag("a", "2");
GType type = getFirstType(rs, el);
assertNotNull(type);
assertEquals(2, type.getType());
el = new Way(2);
el.addTag("c", "1");
type = getFirstType(rs, el);
assertNotNull(type);
assertEquals(1, type.getType());
el = new Way(2);
el.addTag("c", "2");
type = getFirstType(rs, el);
assertNotNull(type);
assertEquals(2, type.getType());
}
Aggregations