indexing description: "Tests the general ids and id creator" license: "MIT license (see ../../license.txt)" author: "Beat Strasser " date: "$Date$" revision: "$Revision$" deferred class TEST_GENERIC_ID inherit TS_TEST_CASE redefine tear_down end P2P_CREATORS_SHARED feature -- Tests test_make is -- Test make local gid: P2P_GENERIC_ID do create gid.make (tformat, tid) validate (gid) end test_make_from_urn is -- Test make_from_urn local gid: P2P_GENERIC_ID do create gid.make_from_urn ("urn:jxta:" + tformat + "-" + tid) validate (gid) create gid.make_from_urn ("URN:jxta:" + tformat + "-" + tid) validate (gid) create gid.make_from_urn ("urn:JXTA:" + tformat + "-" + tid) validate (gid) create gid.make_from_urn ("URN:JXTA:" + tformat + "-" + tid) validate (gid) end test_is_equal is -- Test is_equal local gid1, gid2: P2P_GENERIC_ID uid1, uid2: P2P_ID do create gid1.make_from_urn ("urn:jxta:" + tformat + "-" + tid) create gid2.make_from_urn ("URN:jxta:" + tformat + "-" + tid) assert_equal ("is_equal 1", gid1, gid2) create gid2.make_from_urn ("urn:JXTA:" + tformat + "-" + tid) assert_equal ("is_equal 2", gid1, gid2) create gid2.make_from_urn ("URN:JXTA:" + tformat + "-" + tid) assert_equal ("is_equal 3", gid1, gid2) create gid2.make_from_urn ("urn:jxta:" + tformat.as_upper + "-" + tid) assert_not_equal ("is_equal 4", gid1, gid2) create gid2.make_from_urn ("urn:jxta:" + tformat + "-" + tid.as_upper) assert_not_equal ("is_equal 5", gid1, gid2) create gid2.make_from_urn ("urn:jxta:" + tformat.as_upper + "-" + tid.as_upper) assert_not_equal ("is_equal 6", gid1, gid2) create gid2.make_from_urn ("URN:JXTA:" + tformat.as_upper + "-" + tid.as_upper) assert_not_equal ("is_equal 7", gid1, gid2) -- special UUID behavior uid1 := id_creator.create_from_urn ("urn:jxta:uuid-DeadBeefDeafBabaFeedBabe0000000C05") uid2 := id_creator.create_from_urn ("urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000C05") assert_equal ("is_equal 8", uid1, uid2) end test_creator is -- Test id creator local gid: P2P_ID genid: P2P_GENERIC_ID nullid: P2P_NULL_ID npgid: P2P_NETGROUP_ID wpgid: P2P_WORLDGROUP_ID groupid: P2P_PEERGROUP_UUID pid: P2P_PEER_ID pipeid: P2P_PIPE_ID mcid: P2P_MODULE_CLASS_ID msid: P2P_MODULE_SPECIFICATION_ID do gid := id_creator.create_from_urn (" %R%N urn:jxta:" + tformat + "-" + tid + " %N ") genid ?= gid validate (genid) gid := id_creator.create_from_urn ("urn:asdf:123") assert_same ("void", Void, gid) nullid ?= id_creator.create_from_urn (" %R%N urn:jxta:jxta-Null %N ") assert_true ("is_valid 1", nullid.is_valid) npgid ?= id_creator.create_from_urn (" %R%N urn:jxta:jxta-NetGroup %N ") assert_true ("is_valid 2", npgid.is_valid) wpgid ?= id_creator.create_from_urn (" %R%N urn:jxta:jxta-WorldGroup %N ") assert_true ("is_valid 3", wpgid.is_valid) groupid ?= id_creator.create_from_urn (" %Nurn:jxta:uuid-822A7C9E6B804759870B81B10070E9C959616261646162614A7874615032503302%R%N") assert_true ("is_valid 4", groupid.is_valid) pid ?= id_creator.create_from_urn (" %Nurn:jxta:uuid-B6228B74806B456281AF9854A151F11DF592E37849884567B82EA12C0850E15B03%R%N") assert_true ("is_valid 5", pid.is_valid) pipeid ?= id_creator.create_from_urn (" %Nurn:jxta:uuid-822A7C9E6B804759870B81B10070E9C92F3F01367359485B95D5C6CFA82B977504%R%N") assert_true ("is_valid 6", pipeid.is_valid) mcid ?= id_creator.create_from_urn (" %Nurn:jxta:uuid-DeadBeefDeafBabaFeedBabe0000000C05%R%N") assert_true ("is_valid 7", mcid.is_valid) msid ?= id_creator.create_from_urn (" %Nurn:jxta:uuid-3F76E69935594556870A9AEE1DBF7B208DF0A26F7A224CDDAE5FB0C9CB5AD9F606%R%N") assert_true ("is_valid 8", msid.is_valid) end validate (gid: P2P_GENERIC_ID) is -- Validate require Gid_valid: gid /= Void do assert_not_equal ("hash_code", 0, gid.hash_code) assert_true ("is_unique_id_valid", gid.is_unique_id_valid (tid)) assert_true ("is_valid", gid.is_valid) assert_equal ("format", tformat, gid.format) assert_equal ("unique_id", tid, gid.unique_id) assert_equal ("out", "urn:jxta:" + tformat + "-" + tid, gid.out) assert_equal ("out_short", tformat + "-" + tid, gid.out_short) end test_custom_creator is -- Test custom id creator local genid: P2P_GENERIC_ID npgid: P2P_NETGROUP_ID do id_creator.extend_custom_creator ("jxta", agent custom_jxta_creator) genid ?= id_creator.create_from_urn ("urn:jxta:jxta-Null") assert_not_same ("genid void", Void, genid) npgid ?= id_creator.create_from_urn ("urn:jxta:jxta-NetGroup") assert_not_same ("npgid void", Void, npgid) end test_null_id is -- Test null id do assert_equal ("out", "urn:jxta:jxta-Null", id_creator.null_id.out) assert_equal ("out_short", "jxta-Null", id_creator.null_id.out_short) assert_equal ("format", "jxta", id_creator.null_id.format) assert_equal ("unique_id", "Null", id_creator.null_id.unique_id) assert_true ("is_valid", id_creator.null_id.is_valid) end test_netgroup_id is -- Test netgroup id do assert_equal ("out", "urn:jxta:jxta-NetGroup", id_creator.netgroup_id.out) assert_equal ("out_short", "jxta-NetGroup", id_creator.netgroup_id.out_short) assert_equal ("format", "jxta", id_creator.netgroup_id.format) assert_equal ("unique_id", "NetGroup", id_creator.netgroup_id.unique_id) assert_true ("is_valid", id_creator.netgroup_id.is_valid) end test_worldgroup_id is -- Test worldgroup id do assert_equal ("out", "urn:jxta:jxta-WorldGroup", id_creator.worldgroup_id.out) assert_equal ("out_short", "jxta-WorldGroup", id_creator.worldgroup_id.out_short) assert_equal ("format", "jxta", id_creator.worldgroup_id.format) assert_equal ("unique_id", "WorldGroup", id_creator.worldgroup_id.unique_id) assert_true ("is_valid", id_creator.worldgroup_id.is_valid) end feature -- Execution tear_down is -- Tear down after a test. do id_creator.prune_all_custom_creators end feature {NONE} -- Test data tformat: STRING is "idFormat" tid: STRING is "1234ASDFasdf6789" custom_jxta_creator (an_id: P2P_ID): P2P_ID is -- Generic id for Null id require Id_valid: an_id /= Void and an_id.is_valid do if an_id.unique_id.is_equal ("Null") then Result := an_id end end end