@Test public void testWithLocalJobRunner() throws Exception { Configuration conf = new Configuration(); conf.set("mapreduce.framework.name", "local"); conf.set("fs.defaultFS", "file:///"); StartsWithCountJob underTest = new StartsWithCountJob(); underTest.setConf(conf); int exitCode = underTest.run(new String[] {inputFile.getAbsolutePath(), output.getAbsolutePath()}); assertEquals("Returned error code.", 0, exitCode); assertTrue(new File(output, "_SUCCESS").exists()); Map<String, Integer> resAsMap = getResultAsMap(new File(output, "part-r-00000")); assertEquals(5, resAsMap.size()); assertEquals(2, resAsMap.get("t").intValue()); assertEquals(3, resAsMap.get("i").intValue()); assertEquals(1, resAsMap.get("j").intValue()); assertEquals(1, resAsMap.get("a").intValue()); assertEquals(1, resAsMap.get("y").intValue()); }
@Test public void testWithMiniCluster() throws Exception { FsHelper fsHelper = new FsHelper(dfsCluster.getConfiguration(0)); Path input = new Path("/tests/wordcount/input/in.txt"); Path output = new Path("/tests/wordcount/output/"); fsHelper.writeStringToFile(input, "first line\nsecond line\nthird line"); StartsWithCountJob underTest = new StartsWithCountJob(); underTest.setConf(conf); int exitCode = underTest.run(new String[] {input.toString(), output.toString()}); assertEquals("Returned error code.", 0, exitCode); FileSystem fs = dfsCluster.getFileSystem(); assertTrue(fs.exists(new Path(output, "_SUCCESS"))); String outputAsStr = fsHelper.readStringFroomFile(new Path(output, "part-r-00000")); Map<String, Integer> resAsMap = getResultAsMap(outputAsStr); assertEquals(4, resAsMap.size()); assertEquals(1, resAsMap.get("f").intValue()); assertEquals(1, resAsMap.get("s").intValue()); assertEquals(1, resAsMap.get("t").intValue()); assertEquals(3, resAsMap.get("l").intValue()); }