content: package com.manning.hip.ch13.localjobrunner;
  
  import org.apache.hadoop.conf.Configuration;
  import org.apache.hadoop.fs.Path;
  import org.apache.hadoop.io.Text;
  import org.apache.hadoop.mapreduce.Job;
  import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
  import org.apache.hadoop.mapreduce.lib.input.KeyValueTextInputFormat;
  import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
  import org.junit.Test;
  
  import java.io.IOException;
  
  import static junit.framework.Assert.assertTrue;
  
  public class IdentityWithBuilderTest {
  
    @Test
    public void run() throws Exception {
  
      TextIOJobBuilder builder = new TextIOJobBuilder()
          .addInput("foo", "bar")
          .addExpectedOutput("foo", "bar")
          .writeInputs();
  
      Job job = runJob(
          builder.getConfig(),
          builder.getInputPath(),
          builder.getOutputPath());
  
      assertTrue(job.isSuccessful());
  
      builder.verifyResults();
    }
  
    public Job runJob(Configuration conf, Path inputPath, Path outputPath)
        throws ClassNotFoundException, IOException, InterruptedException {
      Job job = new Job(conf);
  
      job.setInputFormatClass(KeyValueTextInputFormat.class);
  
      job.setMapOutputKeyClass(Text.class);
  
      FileInputFormat.setInputPaths(job, inputPath);
      FileOutputFormat.setOutputPath(job, outputPath);
  
      job.waitForCompletion(false);
      return job;
    }
  }
  