@Test
    void testModelProperties() {
        {
            Query query = new Query();
            query.properties().set("model.searchPath", "foo");
            assertEquals("foo", query.properties().get("model.searchPath"), "Set dynamic get dynamic works");
            assertEquals("foo", query.getModel().getSearchPath(), "Set dynamic get static works");
            Map<String, Object> properties = query.properties().listProperties();
            assertEquals("foo", properties.get("model.searchPath"), "Listing built-in properties works");
        }

        {
            Query query = new Query();
            query.getModel().setSearchPath("foo");
            assertEquals("foo", query.properties().get("model.searchPath"), "Set static get dynamic works");
            assertEquals("foo", query.getModel().getSearchPath(), "Set static get static works");
        }

        {
            Query query = new Query();
            query.properties().set("a", "bar");
            assertEquals("bar", query.properties().get("a"));
            query.properties().set("a.b", "baz");
            assertEquals("baz", query.properties().get("a.b"));
        }
    }
Test that we get the last value if a parameter is assigned multiple times
container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java