diff options
Diffstat (limited to 'config-lib')
-rw-r--r-- | config-lib/src/test/java/com/yahoo/config/ConfigInstanceBuilderTest.java | 14 | ||||
-rw-r--r-- | config-lib/src/test/resources/configdefinitions/structtypes.def | 21 |
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 } |