use of com.yahoo.slime.Cursor in project vespa by vespa-engine.
the class ConfigPayloadBuilderTest method require_that_builders_can_be_merged.
@Test
public void require_that_builders_can_be_merged() {
ConfigPayloadBuilder b1 = new ConfigPayloadBuilder();
ConfigPayloadBuilder b2 = new ConfigPayloadBuilder();
ConfigPayloadBuilder b3 = new ConfigPayloadBuilder();
b1.setField("aaa", "a");
b1.getObject("bbb").setField("ccc", "ddd");
b2.setField("aaa", "b");
b2.getObject("bbb").setField("ccc", "eee");
b2.getArray("eee").append("kkk");
b2.setField("uuu", "ttt");
b3.setField("aaa", "c");
b3.getObject("bbb").setField("ccc", "fff");
b3.getArray("eee").append("lll");
b3.setField("uuu", "vvv");
assertThat(b1.override(b2), is(b1));
assertThat(b1.override(b3), is(b1));
Cursor b1root = createSlime(b1);
Cursor b2root = createSlime(b2);
Cursor b3root = createSlime(b3);
assertThat(b3root.field("aaa").asString(), is("c"));
assertThat(b3root.field("bbb").field("ccc").asString(), is("fff"));
assertThat(b3root.field("eee").children(), is(1));
assertThat(b3root.field("eee").entry(0).asString(), is("lll"));
assertThat(b3root.field("uuu").asString(), is("vvv"));
assertThat(b2root.field("aaa").asString(), is("b"));
assertThat(b2root.field("bbb").field("ccc").asString(), is("eee"));
assertThat(b2root.field("eee").children(), is(1));
assertThat(b2root.field("eee").entry(0).asString(), is("kkk"));
assertThat(b2root.field("uuu").asString(), is("ttt"));
assertThat(b1root.field("aaa").asString(), is("c"));
assertThat(b1root.field("bbb").field("ccc").asString(), is("fff"));
assertThat(b1root.field("eee").children(), is(2));
assertThat(b1root.field("eee").entry(0).asString(), is("kkk"));
assertThat(b1root.field("eee").entry(1).asString(), is("lll"));
assertThat(b1root.field("uuu").asString(), is("vvv"));
}
use of com.yahoo.slime.Cursor in project vespa by vespa-engine.
the class ConfigPayloadBuilderTest method require_that_arrays_can_be_appended_structs.
@Test
public void require_that_arrays_can_be_appended_structs() {
ConfigPayloadBuilder builder = new ConfigPayloadBuilder();
ConfigPayloadBuilder.Array array = builder.getArray("foo");
ConfigPayloadBuilder elem1 = array.append();
elem1.setField("bar", "baz");
ConfigPayloadBuilder elem2 = array.append();
elem2.setField("foo", "bar");
Cursor root = createSlime(builder);
Cursor a = root.field("foo");
assertEquals("baz", a.entry(0).field("bar").asString());
assertEquals("bar", a.entry(1).field("foo").asString());
}
use of com.yahoo.slime.Cursor in project vespa by vespa-engine.
the class ConfigPayloadBuilderTest method require_that_arrays_can_be_indexed_simple_values.
@Test
public void require_that_arrays_can_be_indexed_simple_values() {
ConfigPayloadBuilder builder = new ConfigPayloadBuilder();
ConfigPayloadBuilder.Array array = builder.getArray("foo");
array.set(3, "bar");
array.set(2, "baz");
array.set(6, "bim");
array.set(4, "bum");
Cursor root = createSlime(builder);
Cursor a = root.field("foo");
assertEquals("bar", a.entry(0).asString());
assertEquals("baz", a.entry(1).asString());
assertEquals("bim", a.entry(2).asString());
assertEquals("bum", a.entry(3).asString());
}
use of com.yahoo.slime.Cursor in project vespa by vespa-engine.
the class ConfigPayloadBuilderTest method require_that_arrays_can_be_appended_simple_values.
@Test
public void require_that_arrays_can_be_appended_simple_values() {
ConfigPayloadBuilder builder = new ConfigPayloadBuilder();
ConfigPayloadBuilder.Array array = builder.getArray("foo");
array.append("bar");
array.append("baz");
array.append("bim");
assertThat(array.getElements().size(), is(3));
Cursor root = createSlime(builder);
Cursor a = root.field("foo");
assertEquals("bar", a.entry(0).asString());
assertEquals("baz", a.entry(1).asString());
assertEquals("bim", a.entry(2).asString());
}
use of com.yahoo.slime.Cursor in project vespa by vespa-engine.
the class DefaultValueApplierTest method apply.
public Slime apply(Slime slime, String... extraFields) {
StringBuilder defBuilder = new StringBuilder();
defBuilder.append("namespace=test").append("\n");
defBuilder.append("str string").append("\n");
for (String field : extraFields) {
defBuilder.append(field).append("\n");
}
Cursor cursor = slime.get();
cursor.setString("str", "myvalue");
InnerCNode def = new DefParser("simpletypes", new StringReader(defBuilder.toString())).getTree();
DefaultValueApplier applier = new DefaultValueApplier();
return applier.applyDefaults(slime, def);
}
Aggregations