1 Remaining work
   2 - Look at the relation between TaggedComponents and Codecs.
   3 - Add TaggedComponentFactories to ORB init
   4 - look at PI and codecs
   5 - Implement PoliciesComponent
   6 
   7 =====================
   8 Testing:
   9 Tagged Components: (DONE)
  10     General:
  11         - Constructed data can be retrieved
  12         - read and written correctly as part of IOR
  13           (test this first in IdEncapsulationContainerBase test)
  14     AlternateIIOPAddressComponent:
  15         - can correctly write out TCP port >32K
  16     CodeSetsComponent
  17         - none additional
  18     JavaCodebaseComponent
  19         - none additional
  20     ORBTypeComponent
  21         - none additional
  22     PoliciesComponent
  23         - none additional
  24 
  25 IdentifiableContainerBase (DONE)
  26     - Test iteratorById on Identifiables (DONE)
  27         - Iterator on id not present is empty (hasNext() == false)
  28         - Iterator on id present returns all ids in sequence
  29 IdEncapsulationContainerBase  (DONE)
  30     - Test read sequence of TaggedComponents
  31     - Test writing sequence of TaggedComponents
  32 GenericIdEncapsulation (DONE)
  33     - Test by using for tagged profile and tagged component
  34     - write out and read back test
  35 IIOPAddress (DONE)
  36     - Constructed object returns correct values
  37     - equals:
  38         - false for non-IIOPAddress value
  39         - true iff ports and hosts match
  40 IIOPProfile (DONE)
  41     - construct from id, template; check that correct values are returned
  42     - write out and read back
  43         - no components for 1.0
  44         - components for >1.0
  45     - getObjectKey returns value constructed correctly
  46     - isEquivalent iff ids equal and templates equivalent
  47 IIOPProfileTemplate (DONE)
  48     - Constructed object contains correct values
  49     - isEquivalent iff address and template are equal
  50     - cannot have new components added after makeImmutable call
  51 IOR (DONE)
  52     - Constructed object contains correct values
  53         - IOR() has null typeid and no profiles (DONE)
  54         - IOR( String ) has given typeid and no profiles (DONE)
  55         - IOR( String, IIOPProfileTemplate, ObjectId ) has given typeid and
  56           one IIOPProfile corresponding to template and objectid
  57         - IOR( String, IORTemplate, ObjectId ) has profiles corresponding to
  58           IORTemplate and ObjectIds. (DONE)
  59         - IORTemplate( String, IORTemplate, ObjectIds ) has profiles
  60           corresponding to IORTemplate and ObjectIds (DONE)
  61         - IOR( IORTemplate, ObjectIds ) usual test (DONE)
  62     - write out/read back test (DONE)
  63         - Construct IOR with 2 IIOPProfiles, each with several components,
  64           and 2 GenericIdEncapsulation profiles, write out, read back,
  65           check for equals directly and by calling equals
  66     - cannot have new profiles added after makeImmutable call (DONE)
  67     - contained IIOPProfiles cannot have added components after
  68       makeImmutable call. (DONE)
  69 IORTemplate (DONE)
  70     - Constructed object contains correct value
  71 JIDLObjectKeyTemplate (DONE)
  72     - test that IDs match expected values when created from
  73       byte[] in ObjectKeyFactory.create
  74     - Constructed object contains correct values
  75     - write out and read back test
  76     - getId correctly extract id from key
  77 FreezableList (DONE)
  78     - ASSUME that it acts like a linked list: don't test entire interface
  79     - all modification operations throw UnsupportedOperationException
  80       after makeImmutable call
  81     - all iterators (whether created before or after makeImmutable call)
  82       throw U.O.E. after makeImmutable
  83 ObjectId (DONE)
  84     - constructed object returns same id
  85     - test cases in equals
  86 ObjectKey (DONE)
  87     - constructed object returns same id, template
  88     - write/read test
  89     - getBytes returns correct value (test by using factory and
  90       comparing)
  91 ObjectKeyFactory (DONE)
  92     - test create with hand created keys
  93         - key length < 4
  94         - key length >= 4
  95             - magic is JAVAMAGIC
  96                 - scid is POA scid
  97                 - scid is JIDL scid
  98                 - other scid
  99             - magic is not JAVAMAGIC
 100     - test with error cases on length
 101 POAObjectKeyTemplate (DONE)
 102     - test that IDs match expected values when created from
 103       byte[] in ObjectKeyFactory.create
 104     - test that IDs match when created with explicit values
 105     - write out and read back test
 106     - getId correctly extracts id from key
 107 TaggedComponentFactories (DONE)
 108     - only tested inditectly by reading and writing IIOPProfileTemplate
 109       that contains all components
 110 TaggedComponentFactoryFinder (DONE)
 111     - registered factory can be looked up
 112     - lookup of unregistered factory returns null
 113     - reads tagged component from stream as correct type if registered
 114     - reads tagged component from stream as generic if not registered
 115 TaggedProfileFactoryFinder (DONE)
 116     - reads IIOP profile as IIOPProfile
 117     - reads others as Generic
 118 WireObjectTemplate (DONE)
 119     - getId returns entire key as id
 120     - serverId is -1
 121     - write out and read back test
 122 
 123 Interfaces (no tests):
 124     IdEncapsulation
 125     IdEncapsulationFactory
 126     IdEncapsulationFactoryFinder
 127     Identifiable
 128     ObjectKeyTemplateo
 129     ObjectKeyTemplate
 130     TaggedComponent
 131     TaggedProfile
 132     TaggedProfileTemplate
 133     Writeable
 134     
 135 Trivial classes:
 136     ObjectIds