/** * Creates the service identification to use for testing purpose. */ private static DefaultServiceIdentification create() { final NameFactory factory = DefaultFactories.forBuildin(NameFactory.class); final DefaultCoupledResource resource = DefaultCoupledResourceTest.create(factory); resource.setResourceReferences(singleton(new DefaultCitation("WMS specification"))); final DefaultServiceIdentification id = new DefaultServiceIdentification( factory.createGenericName(null, "Web Map Server"), // serviceType NilReason.MISSING.createNilObject(Citation.class), // citation "A dummy service for testing purpose."); // abstract id.setServiceTypeVersions(singleton("1.0")); id.setCoupledResources(singleton(resource)); id.setCouplingType(UnsupportedCodeList.valueOf("LOOSE")); id.setContainsOperations(singleton(resource.getOperation())); return id; }
/** * Tests {@link OperationName#resolve(Collection, Collection)}. */ @Test public void testOperationNameResolve() { final DefaultCoupledResource resource = create(DefaultFactories.forBuildin(NameFactory.class)); final DefaultOperationMetadata operation = resource.getOperation(); /* * Test OperationName replacement when the name matches. */ resource.setOperation(new OperationName(operation.getOperationName())); assertNotSame("Before resolve", operation, resource.getOperation()); OperationName.resolve(singleton(operation), singleton(resource)); assertSame("After resolve", operation, resource.getOperation()); /* * If the name doesn't match, no replacement shall be done. */ final OperationName other = new OperationName("Other"); resource.setOperation(other); assertSame("Before resolve", other, resource.getOperation()); OperationName.resolve(singleton(operation), singleton(resource)); assertSame("After resolve", other, resource.getOperation()); } }