aboutsummaryrefslogtreecommitdiffstats
path: root/config-lib
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2019-10-11 15:49:59 +0200
committergjoranv <gv@verizonmedia.com>2019-10-11 15:49:59 +0200
commit3fbf004ff289ec8bc8fd3c3f6d0b1a8db72e33da (patch)
tree4d6dd07b69ec1427e9491bdb0f4865f9598847ec /config-lib
parentdc2f7ed94ce95ff983700d3e44d5006cbee5bf34 (diff)
Add a basic test for struct builders.
+ Delete unused .def file
Diffstat (limited to 'config-lib')
-rw-r--r--config-lib/src/test/java/com/yahoo/config/ConfigInstanceBuilderTest.java14
-rw-r--r--config-lib/src/test/resources/configdefinitions/structtypes.def21
2 files changed, 35 insertions, 0 deletions
diff --git a/config-lib/src/test/java/com/yahoo/config/ConfigInstanceBuilderTest.java b/config-lib/src/test/java/com/yahoo/config/ConfigInstanceBuilderTest.java
index dc365cc60e7..66e2d1b27b2 100644
--- a/config-lib/src/test/java/com/yahoo/config/ConfigInstanceBuilderTest.java
+++ b/config-lib/src/test/java/com/yahoo/config/ConfigInstanceBuilderTest.java
@@ -2,6 +2,7 @@
package com.yahoo.config;
import com.yahoo.foo.MaptypesConfig;
+import com.yahoo.foo.StructtypesConfig;
import com.yahoo.test.FunctionTestConfig;
import com.yahoo.test.IntConfig;
import com.yahoo.test.RestartConfig;
@@ -15,6 +16,7 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
+import static com.yahoo.foo.StructtypesConfig.Simple.Gender.Enum.FEMALE;
import static com.yahoo.test.FunctionTestConfig.BasicStruct;
import static com.yahoo.test.FunctionTestConfig.Enum_val;
import static com.yahoo.test.FunctionTestConfig.Enumarr;
@@ -42,6 +44,18 @@ public class ConfigInstanceBuilderTest
{
@Test
+ public void struct_values_can_be_set_without_declaring_a_new_struct_builder() {
+ var builder = new StructtypesConfig.Builder();
+ builder.simple
+ .name("myname")
+ .gender(FEMALE);
+
+ StructtypesConfig config = builder.build();
+ assertThat(config.simple().name(), is("myname"));
+ assertThat(config.simple().gender(), is(FEMALE));
+ }
+
+ @Test
public void leaf_map_setter_merges_maps() {
MaptypesConfig.Builder builder = new MaptypesConfig.Builder()
.intmap("one", 1);
diff --git a/config-lib/src/test/resources/configdefinitions/structtypes.def b/config-lib/src/test/resources/configdefinitions/structtypes.def
new file mode 100644
index 00000000000..fe9d879fb64
--- /dev/null
+++ b/config-lib/src/test/resources/configdefinitions/structtypes.def
@@ -0,0 +1,21 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+# Config containing only structs in various forms
+namespace=foo
+
+simple.name string default="_default_"
+simple.gender enum { MALE, FEMALE } default=MALE
+simple.emails[] string
+
+nested.inner.name string default="_default_"
+nested.inner.gender enum { MALE, FEMALE } default=MALE
+nested.inner.emails[] string
+
+simplearr[].name string
+simplearr[].gender enum { MALE, FEMALE }
+
+nestedarr[].inner.name string
+nestedarr[].inner.gender enum { MALE, FEMALE }
+nestedarr[].inner.emails[] string
+
+complexarr[].innerarr[].name string
+complexarr[].innerarr[].gender enum { MALE, FEMALE }