public void testLookupOutputs()
        {
            TnmSchemaLookup      lookup  = new TnmSchemaLookup("C680", "8590");
            List <StagingSchema> lookups = _STAGING.lookupSchema(lookup);

            Assert.AreEqual(1, lookups.Count);

            StagingSchema schema = _STAGING.getSchema(lookups[0].getId());

            Assert.AreEqual("urethra", schema.getId());

            // build list of output keys
            List <StagingSchemaOutput> outputs        = schema.getOutputs();
            HashSet <String>           definedOutputs = new HashSet <String>();

            foreach (StagingSchemaOutput o in outputs)
            {
                definedOutputs.Add(o.getKey());
            }

            // test without context
            Assert.IsTrue(definedOutputs.SetEquals(_STAGING.getOutputs(schema)));

            // test with context
            Assert.IsTrue(definedOutputs.SetEquals(_STAGING.getOutputs(schema, lookup.getInputs())));
        }
        public void testLookupInputs()
        {
            // test valid combinations that do not require a discriminator
            StagingSchema   schema = _STAGING.getSchema("prostate");
            TnmSchemaLookup lookup = new TnmSchemaLookup("C619", "8000");

            Assert.IsTrue(_STAGING.getInputs(schema, lookup.getInputs()).Contains("clin_t"));

            lookup = new TnmSchemaLookup("C619", "8120");
            Assert.IsFalse(_STAGING.getInputs(schema, lookup.getInputs()).Contains("clin_t"));
        }