1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.giraph.examples;
19
20 import org.apache.giraph.conf.GiraphConfiguration;
21 import org.apache.giraph.io.formats.IdWithValueTextOutputFormat;
22 import org.apache.giraph.io.formats.IntIntNullTextInputFormat;
23 import org.apache.giraph.utils.InternalVertexRunner;
24 import org.junit.Test;
25
26 import com.google.common.collect.Maps;
27
28 import java.util.Map;
29
30 import static org.junit.Assert.assertEquals;
31
32
33
34
35 public class MaxComputationTest {
36 @Test
37 public void testMax() throws Exception {
38 String[] graph = {
39 "5 1",
40 "1 5 2",
41 "2 5",
42 };
43
44 GiraphConfiguration conf = new GiraphConfiguration();
45 conf.setComputationClass(MaxComputation.class);
46 conf.setVertexInputFormatClass(IntIntNullTextInputFormat.class);
47 conf.setVertexOutputFormatClass(IdWithValueTextOutputFormat.class);
48 Iterable<String> results = InternalVertexRunner.run(conf, graph);
49
50 Map<Integer, Integer> values = parseResults(results);
51 assertEquals(3, values.size());
52 assertEquals(5, (int) values.get(1));
53 assertEquals(5, (int) values.get(2));
54 assertEquals(5, (int) values.get(5));
55 }
56
57 private static Map<Integer, Integer> parseResults(Iterable<String> results) {
58 Map<Integer, Integer> values = Maps.newHashMap();
59 for (String line : results) {
60 String[] tokens = line.split("\\s+");
61 int id = Integer.valueOf(tokens[0]);
62 int value = Integer.valueOf(tokens[1]);
63 values.put(id, value);
64 }
65 return values;
66 }
67 }