class TEST_DS inherit SHARED_GOBO_EJSON TS_TEST_CASE create make_default feature {NONE} -- Initialization make is -- Create test object. do end feature -- Test test_ds_linked_list_converter is local jc: JSON_DS_LINKED_LIST_CONVERTER l: DS_LINKED_LIST [STRING] l2: DS_LINKED_LIST [ANY] s: STRING jv: JSON_VALUE do create jc.make json.add_converter (jc) create l.make s := "foo" l.put_last (s) s := "bar" l.put_last (s) jv := json.value (l) assert ("jv /= Void", jv /= Void) s := jv.representation l2 ?= json.object (jv, "DS_LINKED_LIST") assert ("l2 /= Void", l2 /= Void) end test_ds_hash_table_converter is local tc: JSON_DS_HASH_TABLE_CONVERTER t: DS_HASH_TABLE [STRING, STRING] t2: DS_HASH_TABLE [ANY, HASHABLE] s: STRING ucs_key, ucs_value: UC_STRING jv: JSON_VALUE do create tc.make json.add_converter (tc) create t.make (2) t.put ("foo", "1") t.put ("bar", "2") jv := json.value (t) assert ("jv /= Void", jv /= Void) s := jv.representation t2 ?= json.object (jv, "DS_HASH_TABLE") assert ("t2 /= Void", t2 /= Void) create ucs_key.make_from_string ("1") ucs_value ?= t2 @ ucs_key assert ("ucs_value /= Void", ucs_value /= Void) assert ("ucs_value.string.is_equal (%"foo%")", ucs_value.string.is_equal ("foo")) create ucs_key.make_from_string ("2") ucs_value ?= t2 @ ucs_key assert ("ucs_value /= Void", ucs_value /= Void) assert ("ucs_value.string.is_equal (%"bar%")", ucs_value.string.is_equal ("bar")) end end -- class TEST_DS