### Question:
S3S3CopierFactory implements CopierFactory { @Override public boolean supportsSchemes(String sourceScheme, String replicaScheme) { return S3Schemes.isS3Scheme(sourceScheme) && S3Schemes.isS3Scheme(replicaScheme); } @Autowired  S3S3CopierFactory(
      AmazonS3ClientFactory clientFactory,
      ListObjectsRequestFactory listObjectsRequestFactory,
      TransferManagerFactory transferManagerFactory,
      MetricRegistry runningMetricsRegistry); @Override boolean supportsSchemes(String sourceScheme, String replicaScheme); @Override Copier newInstance(CopierContext copierContext); @Override Copier newInstance(
      String eventId,
      Path sourceBaseLocation,
      Path replicaLocation,
      Map<String, Object> copierOptions); @Override Copier newInstance(
      String eventId,
      Path sourceBaseLocation,
      List<Path> sourceSubLocations,
      Path replicaLocation,
      Map<String, Object> copierOptions);  }### Answer:
@Test public void supportsSchemes() throws Exception { assertTrue(factory.supportsSchemes("s3", "s3")); assertTrue(factory.supportsSchemes("s3a", "s3a")); assertTrue(factory.supportsSchemes("s3n", "s3n")); assertTrue(factory.supportsSchemes("s3", "s3n")); }
@Test public void unsupportedSchemes() throws Exception { assertFalse(factory.supportsSchemes("s3", "s345")); assertFalse(factory.supportsSchemes("s345", "s3")); assertFalse(factory.supportsSchemes("hdfs", "s3")); assertFalse(factory.supportsSchemes("s3", "hdfs")); assertFalse(factory.supportsSchemes(null, null)); assertFalse(factory.supportsSchemes("", "")); }