/** Test the number of symbols in the symbol table is one since there is one capability. */ public void testSymbolCountWithOneCapability() { final ISymbolMap symbolTable = context.mock(ISymbolMap.class); final CapabilitySymbol capSym = new CapabilitySymbol( OneCapabilityOneTestXML.capabilityId, OneCapabilityOneTestXML.capabilityDesc, OneCapabilityOneTestXML.capabilityClass); context.checking( new Expectations() { { one(symbolTable).put(OneCapabilityOneTestXML.capabilityId, capSym); } }); final byte[] xmlBytes = OneCapabilityOneTestXML.profileXML.getBytes(); final ByteArrayInputStream stream = new ByteArrayInputStream(xmlBytes); try { parser.setSymbolTable(symbolTable).parse(stream); } catch (ParserException ex) { fail(ex.getMessage()); } context.assertIsSatisfied(); }
/** * Test symbol table is correct for one capability with one test and some arguments and an * environment. */ public void testSymbolsWithOneCapabilityOneTest() { final ISymbolMap symbolTable = new ProfileParserTestSymbolMap(); final byte[] xmlBytes = OneCapabilityOneTestXML.profileXML.getBytes(); final ByteArrayInputStream stream = new ByteArrayInputStream(xmlBytes); try { parser.setSymbolTable(symbolTable).parse(stream); } catch (ParserException ex) { fail(ex.getMessage()); } final CapabilitySymbol capSym = (CapabilitySymbol) symbolTable.get(OneCapabilityOneTestXML.capabilityId); assertEquals( new CapabilitySymbol( OneCapabilityOneTestXML.capabilityId, OneCapabilityOneTestXML.capabilityDesc, OneCapabilityOneTestXML.capabilityClass), capSym); final List<ArgumentSymbol> targetCapArgs = new ArrayList<ArgumentSymbol>(); for (int idx = 0; idx < OneCapabilityOneTestXML.capArgId.length; idx++) { final ArgumentSymbol argSym = new ArgumentSymbol( OneCapabilityOneTestXML.capArgId[idx], OneCapabilityOneTestXML.capArgClasses[idx]); targetCapArgs.add(argSym); } final List<ISymbol> capArgs = capSym.getSymbolsInContext(IArgumentSymbol.CONTEXT); assertEquals(targetCapArgs, capArgs); final TestSymbol testSym = (TestSymbol) capSym.getSymbol(OneCapabilityOneTestXML.testId, ITestSymbol.CONTEXT); assertEquals(new TestSymbol(OneCapabilityOneTestXML.testId), testSym); final List<IEnvironmentSymbol> targetEnv = getProfileEnvironment(OneCapabilityOneTestXML.varNames, OneCapabilityOneTestXML.varValues); final List<ISymbol> envs = capSym.getSymbolsInContext(IEnvironmentSymbol.CONTEXT); assertEquals(targetEnv, envs); final List<ArgumentSymbol> targetArgs = new ArrayList<ArgumentSymbol>(); for (int idx = 0; idx < OneCapabilityOneTestXML.argIds.length; idx++) { final ArgumentSymbol argSym = new ArgumentSymbol( OneCapabilityOneTestXML.argIds[idx], OneCapabilityOneTestXML.argClasses[idx]); targetArgs.add(argSym); } final List<ISymbol> args = testSym.getSymbolsInContext(IArgumentSymbol.CONTEXT); assertEquals(targetArgs, args); }