1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.giraph.writable.kryo;
19
20 import org.apache.giraph.types.ops.collections.array.WDoubleArrayList;
21 import org.apache.giraph.writable.kryo.serializers.DirectWritableSerializer;
22 import org.apache.hadoop.io.DoubleWritable;
23 import org.junit.Assert;
24 import org.junit.Test;
25
26 import com.esotericsoftware.kryo.Kryo;
27
28 public class DirectWritableSerializerCopyTest {
29 @Test
30 public void test1() {
31 DoubleWritable value = new DoubleWritable(5.9999);
32 DirectWritableSerializer<DoubleWritable> serializer = new DirectWritableSerializer<>();
33 Kryo kryo = new Kryo();
34 DoubleWritable copy = serializer.copy(kryo, value);
35 Assert.assertEquals(value.get(), copy.get(), 0);
36 }
37
38 @Test
39 public void test2() {
40 WDoubleArrayList list = new WDoubleArrayList();
41 list.addW(new DoubleWritable(0.11111111));
42 list.addW(new DoubleWritable(1000.9));
43 list.addW(new DoubleWritable(99999999.99999999));
44 DirectWritableSerializer<WDoubleArrayList> serializer =
45 new DirectWritableSerializer<>();
46 Kryo kryo = new Kryo();
47 WDoubleArrayList copy = serializer.copy(kryo, list);
48 DoubleWritable reusable = new DoubleWritable();
49 copy.getIntoW(0, reusable);
50 Assert.assertEquals(0.11111111, reusable.get(), 0);
51 copy.getIntoW(1, reusable);
52 Assert.assertEquals(1000.9, reusable.get(), 0);
53 copy.getIntoW(2, reusable);
54 Assert.assertEquals(99999999.99999999, reusable.get(), 0);
55 }
56 }