Remaining work - Look at the relation between TaggedComponents and Codecs. - Add TaggedComponentFactories to ORB init - look at PI and codecs - Implement PoliciesComponent ===================== Testing: Tagged Components: (DONE) General: - Constructed data can be retrieved - read and written correctly as part of IOR (test this first in IdEncapsulationContainerBase test) AlternateIIOPAddressComponent: - can correctly write out TCP port >32K CodeSetsComponent - none additional JavaCodebaseComponent - none additional ORBTypeComponent - none additional PoliciesComponent - none additional IdentifiableContainerBase (DONE) - Test iteratorById on Identifiables (DONE) - Iterator on id not present is empty (hasNext() == false) - Iterator on id present returns all ids in sequence IdEncapsulationContainerBase (DONE) - Test read sequence of TaggedComponents - Test writing sequence of TaggedComponents GenericIdEncapsulation (DONE) - Test by using for tagged profile and tagged component - write out and read back test IIOPAddress (DONE) - Constructed object returns correct values - equals: - false for non-IIOPAddress value - true iff ports and hosts match IIOPProfile (DONE) - construct from id, template; check that correct values are returned - write out and read back - no components for 1.0 - components for >1.0 - getObjectKey returns value constructed correctly - isEquivalent iff ids equal and templates equivalent IIOPProfileTemplate (DONE) - Constructed object contains correct values - isEquivalent iff address and template are equal - cannot have new components added after makeImmutable call IOR (DONE) - Constructed object contains correct values - IOR() has null typeid and no profiles (DONE) - IOR( String ) has given typeid and no profiles (DONE) - IOR( String, IIOPProfileTemplate, ObjectId ) has given typeid and one IIOPProfile corresponding to template and objectid - IOR( String, IORTemplate, ObjectId ) has profiles corresponding to IORTemplate and ObjectIds. (DONE) - IORTemplate( String, IORTemplate, ObjectIds ) has profiles corresponding to IORTemplate and ObjectIds (DONE) - IOR( IORTemplate, ObjectIds ) usual test (DONE) - write out/read back test (DONE) - Construct IOR with 2 IIOPProfiles, each with several components, and 2 GenericIdEncapsulation profiles, write out, read back, check for equals directly and by calling equals - cannot have new profiles added after makeImmutable call (DONE) - contained IIOPProfiles cannot have added components after makeImmutable call. (DONE) IORTemplate (DONE) - Constructed object contains correct value JIDLObjectKeyTemplate (DONE) - test that IDs match expected values when created from byte[] in ObjectKeyFactory.create - Constructed object contains correct values - write out and read back test - getId correctly extract id from key FreezableList (DONE) - ASSUME that it acts like a linked list: don't test entire interface - all modification operations throw UnsupportedOperationException after makeImmutable call - all iterators (whether created before or after makeImmutable call) throw U.O.E. after makeImmutable ObjectId (DONE) - constructed object returns same id - test cases in equals ObjectKey (DONE) - constructed object returns same id, template - write/read test - getBytes returns correct value (test by using factory and comparing) ObjectKeyFactory (DONE) - test create with hand created keys - key length < 4 - key length >= 4 - magic is JAVAMAGIC - scid is POA scid - scid is JIDL scid - other scid - magic is not JAVAMAGIC - test with error cases on length POAObjectKeyTemplate (DONE) - test that IDs match expected values when created from byte[] in ObjectKeyFactory.create - test that IDs match when created with explicit values - write out and read back test - getId correctly extracts id from key TaggedComponentFactories (DONE) - only tested inditectly by reading and writing IIOPProfileTemplate that contains all components TaggedComponentFactoryFinder (DONE) - registered factory can be looked up - lookup of unregistered factory returns null - reads tagged component from stream as correct type if registered - reads tagged component from stream as generic if not registered TaggedProfileFactoryFinder (DONE) - reads IIOP profile as IIOPProfile - reads others as Generic WireObjectTemplate (DONE) - getId returns entire key as id - serverId is -1 - write out and read back test Interfaces (no tests): IdEncapsulation IdEncapsulationFactory IdEncapsulationFactoryFinder Identifiable ObjectKeyTemplateo ObjectKeyTemplate TaggedComponent TaggedProfile TaggedProfileTemplate Writeable Trivial classes: ObjectIds