@Test
void updateValues() {

    doUpdateValueTest(
            "stroom.primitive.booleanProp",
            tc -> tc.getTestPrimitiveConfig().isBooleanProp(),
            "true",
            Boolean::valueOf);
    doUpdateValueTest(
            "stroom.boxed.booleanProp",
            tc -> tc.getTestBoxedConfig().getBooleanProp(),
            "true",
            Boolean::valueOf);
    doUpdateValueTest(
            "stroom.primitive.intProp",
            tc -> tc.getTestPrimitiveConfig().getIntProp(),
            "999",
            Integer::parseInt);
    doUpdateValueTest(
            "stroom.boxed.intProp",
            tc -> tc.getTestBoxedConfig().getIntProp(),
            "999",
            Integer::parseInt);
    doUpdateValueTest(
            "stroom.primitive.longProp",
            tc -> tc.getTestPrimitiveConfig().getLongProp(),
            "999",
            Long::parseLong);
    doUpdateValueTest(
            "stroom.boxed.longProp",
            tc -> tc.getTestBoxedConfig().getLongProp(),
            "999",
            Long::parseLong);
    doUpdateValueTest(
            "stroom.stringProp",
            TestConfig::getStringProp,
            "yyyyyy",
            Function.identity());
    doUpdateValueTest(
            "stroom.stroomDurationProp",
            TestConfig::getStroomDurationProp,
            "P1DT6H",
            StroomDuration::parse);
    doUpdateValueTest(
            "stroom.byteSizeProp",
            TestConfig::getByteSizeProp,
            "1MiB",
            ByteSize::parse);
    doUpdateValueTest(
            "stroom.docRefProp",
            TestConfig::getDocRefProp,
            ",docRef(aaaaaa,bbbbbbb,ccccccc)",
            str -> ConfigMapper.convertToObject(str, DocRef.class));
    doUpdateValueTest(
            "stroom.stateProp",
            TestConfig::getStateProp,
            "ON",
            TestConfig.State::valueOf);
}