### Question:
WSCXMLServiceProvider implements ServiceProvider<String> { @Override public Iterable<Operation<String>> getOperations() { final Set<String> operations = this.listOperations(); return new Iterable<Operation<String>>() { @Override public Iterator<Operation<String>> iterator() { return new Iterator<Operation<String>>() { Iterator<String> ids = operations.iterator(); @Override public boolean hasNext() { return ids.hasNext(); } @Override public Operation<String> next() { return getOperation(ids.next()); } @Override public void remove() { throw new UnsupportedOperationException(); } }; } }; } WSCXMLServiceProvider(InputStream serviceStream);  WSCXMLServiceProvider(File xmlServices); Service<String> getService(String serviceID); @Override Operation<String> getOperation(String operationID); @Override Iterable<Operation<String>> getOperationsWithInput(String inputInstance); @Override Iterable<Operation<String>> getOperationsWithOutput(String outputInstance); @Override Iterable<Operation<String>> getOperations(); @Override Iterable<Service<String>> getServices(); @Override Set<String> listOperations(); @Override Set<String> listServices(); static final String operationSuffix; }### Answer:
@Test public void testInputOutput(){ Map<Integer, Integer> histogram = new HashMap<Integer, Integer>(); for(Operation<String> op : provider.getOperations()){ int size = op.getSignature().getInputs().size(); Integer count = histogram.get(size); if (count == null){ histogram.put(size, 1); } else { histogram.put(size, count+1); } } }
@Test public void testGetOperations() throws Exception { Set<Operation<String>> operations = Sets.newHashSet(provider.getOperations()); assertEquals(158, operations.size()); boolean exists = false; for(Operation<String> op : operations){ if (op.getID().equals("serv699915007Operation")){ exists = true; break; } } assertTrue(exists); }