From 01e6dbd36a861fcdd414b8792286d19e6d53541a Mon Sep 17 00:00:00 2001 From: Nelson Tavares de Sousa <ntd@informatik.uni-kiel.de> Date: Wed, 18 Feb 2015 14:09:22 +0100 Subject: [PATCH] test now uses guava to verify results --- .../java/teetime/stage/WordCountingTest.java | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/test/java/teetime/stage/WordCountingTest.java b/src/test/java/teetime/stage/WordCountingTest.java index facd4fb2..9d18f55f 100644 --- a/src/test/java/teetime/stage/WordCountingTest.java +++ b/src/test/java/teetime/stage/WordCountingTest.java @@ -18,27 +18,44 @@ package teetime.stage; import static org.junit.Assert.assertEquals; import java.io.File; +import java.io.IOException; import org.junit.Test; import teetime.framework.Analysis; import teetime.stage.util.CountingMap; +import com.google.common.base.CharMatcher; +import com.google.common.base.Charsets; +import com.google.common.base.Splitter; +import com.google.common.collect.HashMultiset; +import com.google.common.collect.Multiset; +import com.google.common.io.Files; + public class WordCountingTest { - private final File testFile = new File("src/test/resources/data/output.txt"); + private static final File testFile = new File("src/test/resources/data/output.txt"); @Test - public void test1() { + public void test1() throws IOException { int threads = 6; WordCountingConfiguration wcc = new WordCountingConfiguration(threads, testFile, testFile); Analysis analysis = new Analysis(wcc); analysis.start(); CountingMap<String> map = wcc.getResult(); - assertEquals(new Integer(54), map.get("diam")); - assertEquals(new Integer(8), map.get("tation")); - assertEquals(new Integer(4), map.get("cum")); + assertEquals(new Integer(wordOccurrences(testFile).count(new String("diam")) * 2), map.get("diam")); + assertEquals(new Integer(wordOccurrences(testFile).count(new String("tation")) * 2), map.get("tation")); + assertEquals(new Integer(wordOccurrences(testFile).count(new String("cum")) * 2), map.get("cum")); + } + + private Multiset<String> wordOccurrences(final File file) throws IOException { + return HashMultiset.create( + Splitter.on(CharMatcher.WHITESPACE) + .trimResults() + .omitEmptyStrings() + .split(Files.asCharSource(testFile, Charsets.UTF_8).read())); } + } // 56 et -- GitLab