1* Set TEST_BOOL, showing child items
2> { "TEST_BOOL" : true }
3< { "values" : { "TEST_BOOL" : true, "TEST_CHILD_STR" : "OHAI!", "TEST_CHILD_BOOL" : true }, "ranges": {"TEST_CONDITIONAL_RANGES": [0, 100], "TEST_CONDITIONAL_HEX_RANGES": [0, 175]} }
4
5* Set TEST_CHILD_STR
6> { "TEST_CHILD_STR" : "Other value" }
7< { "values" : { "TEST_CHILD_STR" : "Other value" } }
8
9* Clear TEST_BOOL, hiding child items
10> { "TEST_BOOL" : false }
11< { "values" : { "TEST_BOOL" : false, "TEST_CHILD_STR" : null, "TEST_CHILD_BOOL" : null },  "ranges": {"TEST_CONDITIONAL_RANGES": [0, 10], "TEST_CONDITIONAL_HEX_RANGES": [16, 175]} }
12
13* Set TEST_CHILD_BOOL, invalid as parent is disabled
14> { "TEST_CHILD_BOOL" : false }
15< { "values" : { } }
16
17* Set TEST_BOOL & TEST_CHILD_STR together
18> { "TEST_BOOL" : true, "TEST_CHILD_STR" : "New value" }
19< { "values" : { "TEST_BOOL" : true, "TEST_CHILD_STR" : "New value", "TEST_CHILD_BOOL" : true } }
20
21* Set choice
22> { "CHOICE_B" : true }
23< { "values" : { "CHOICE_B" : true, "CHOICE_A" : false, "DEPENDS_ON_CHOICE" : "Depends on B" } }
24
25* Set string which depends on choice B
26> { "DEPENDS_ON_CHOICE" : "oh, really?" }
27< { "values" : { "DEPENDS_ON_CHOICE" : "oh, really?" } }
28
29* Try setting boolean values to invalid types
30> { "CHOICE_A" : 11, "TEST_BOOL" : "false" }
31< { "values" : { } }
32