1/*2 * Licensed to the Apache Software Foundation (ASF) under one3 * or more contributor license agreements. See the NOTICE file4 * distributed with this work for additional information5 * regarding copyright ownership. The ASF licenses this file6 * to you under the Apache License, Version 2.0 (the7 * "License"); you may not use this file except in compliance8 * with the License. You may obtain a copy of the License at9 *10 * http://www.apache.org/licenses/LICENSE-2.011 *12 * Unless required by applicable law or agreed to in writing, software13 * distributed under the License is distributed on an "AS IS" BASIS,14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.15 * See the License for the specific language governing permissions and16 * limitations under the License.17 */18package org.apache.giraph.writable.kryo;
1920import org.apache.giraph.types.ops.collections.array.WDoubleArrayList;
21import org.apache.giraph.writable.kryo.serializers.DirectWritableSerializer;
22import org.apache.hadoop.io.DoubleWritable;
23import org.junit.Assert;
24import org.junit.Test;
2526import com.esotericsoftware.kryo.Kryo;
2728publicclassDirectWritableSerializerCopyTest {
29 @Test
30publicvoid 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 }
3738 @Test
39publicvoid 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 =
45new 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 }