This project has retired. For details please refer to its Attic page.
DirectWritableSerializerCopyTest xref
View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * 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 and
16   * limitations under the License.
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  }