### Question:
AbstractSparkDataSetProvider implements DataSetProvider<T>, SparkDataSetDelegate<T> { @Nonnull @Override public final T read(@Nonnull final KyloCatalogClient<T> client, @Nonnull final DataSetOptions options) { final SparkDataSetContext<T> context = new SparkDataSetContext<>(options, client, this); final DataFrameReader reader = SparkUtil.prepareDataFrameReader(getDataFrameReader(client, context), context, client); final List<String> paths = context.getPaths(); T dataSet = null; if (paths == null || paths.isEmpty() || context.isFileFormat()) { final Seq<String> pathSeq = (paths != null) ? JavaConversions.asScalaBuffer(paths) : null; dataSet = load(reader, pathSeq); } else { for (final String path : paths) { T load = load(reader, Seq$.MODULE$.<String>newBuilder().$plus$eq(path).result()); dataSet = (dataSet == null) ? load : union(dataSet, load); } } if (context.isFileFormat() && "false".equalsIgnoreCase(SparkUtil.getOrElse(context.getOption(KEEP_SOURCE_FILE_OPTION), ""))) { final StructType schema = schema(dataSet); if (!schema.isEmpty()) { final Accumulable<Boolean, Boolean> accumulator = accumulable(Boolean.FALSE, UUID.randomUUID().toString(), new BooleanOrAccumulatorParam(), client); final FlaggingVisitor visitor = new FlaggingVisitor(accumulator); dataSet = map(dataSet, schema.apply(0).name(), visitor, schema.apply(0).dataType()); final DeletePathsListener jobListener = new DeletePathsListener(context.getPaths(), accumulator, getHadoopConfiguration(client)); onJobEnd(jobListener, client); } } return dataSet; }  @Override final boolean supportsFormat(@Nonnull final String source); @Nonnull @Override final T read(@Nonnull final KyloCatalogClient<T> client, @Nonnull final DataSetOptions options); @Override final void write(@Nonnull final KyloCatalogClient<T> client, @Nonnull final DataSetOptions options, @Nonnull final T dataSet);  }### Answer:
@Test @SuppressWarnings("unchecked") public void read() { dataSet = Mockito.mock(DataFrame.class); final DataSetOptions options = new DataSetOptions(); options.setFormat("text"); options.setOption(KyloCatalogConstants.PATH_OPTION, "/mock/path/file.txt"); final MockSparkDataSetProvider provider = new MockSparkDataSetProvider(); final DataFrame df = provider.read(Mockito.mock(KyloCatalogClient.class), options); Mockito.verifyZeroInteractions(df); }