### Question:
FileSystemPathResolver { public Path resolveScheme(Path path) { try { URI uri = path.toUri(); if (isEmpty(uri.getScheme())) { String scheme = FileSystem.get(configuration).getScheme(); Path result = new Path(new URI(scheme, uri.getUserInfo(), uri.getHost(), uri.getPort(), uri.getPath(), uri.getQuery(), uri.getFragment()).toString()); LOG.info("Added scheme {} to path {}. Resulting path is {}", scheme, path, result); return result; } } catch (URISyntaxException | IOException e) { throw new CircusTrainException(e); } return path; } FileSystemPathResolver(Configuration configuration); Path resolveScheme(Path path); Path resolveNameServices(Path path);  }### Answer:
@Test public void resolveSchemeDoesntChangeSchemeForPathWithScheme() { Path expected = new Path("s3:/etl/test/avsc/schema.avsc"); Path result = resolver.resolveScheme(expected); assertThat(result, is(expected)); }
@Test public void resolveSchemeDoesntChangeSchemeForFullyQualifiedPathWithScheme() { Path expected = new Path("s3: Path result = resolver.resolveScheme(expected); assertThat(result, is(expected)); }
@Test public void resolveSchemeSetsSchemeIfSchemeIsntPresent() { Path input = new Path("/etl/test/avsc/schema.avsc"); Path result = resolver.resolveScheme(input); Path expected = new Path("file:/etl/test/avsc/schema.avsc"); assertThat(result, is(expected)); }