1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.giraph.aggregators.matrix.sparse;
20
21 import static org.junit.Assert.assertEquals;
22
23 import org.apache.giraph.utils.WritableUtils;
24 import org.junit.Test;
25
26 public class TestLongSparseMatrix {
27
28 @Test
29 public void testVectorAdd() {
30
31 LongSparseVector vec1 = new LongSparseVector();
32 assertEquals(0, vec1.get(0));
33
34
35 vec1.set(0, 1);
36 vec1.set(10, 14);
37 assertEquals(1, vec1.get(0));
38 assertEquals(0, vec1.get(5));
39 assertEquals(14, vec1.get(10));
40
41
42 LongSparseVector vec2 = new LongSparseVector();
43 vec2.set(0, 5);
44 vec2.set(5, 17);
45
46 vec1.add(vec2);
47 assertEquals(6, vec1.get(0));
48 assertEquals(17, vec1.get(5));
49 assertEquals(14, vec1.get(10));
50 assertEquals(0, vec1.get(15));
51 }
52
53 @Test
54 public void testVectorSerialize() throws Exception {
55 int size = 100;
56
57
58 LongSparseVector from = new LongSparseVector(size);
59 from.set(0, 10);
60 from.set(10, 5);
61 from.set(12, 1);
62 byte[] data = WritableUtils.writeToByteArray(from);
63
64
65 LongSparseVector to = new LongSparseVector();
66 WritableUtils.readFieldsFromByteArray(data, to);
67
68
69 for (int i = 0; i < size; ++i) {
70 assertEquals(from.get(i), to.get(i));
71 }
72 }
73 }