1 package org.apache.directmemory.test;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.directmemory.serialization.Serializer;
23 import org.apache.directmemory.serialization.SerializerFactory;
24 import org.apache.directmemory.serialization.SerializerNotFoundException;
25 import org.junit.Test;
26
27 import static junit.framework.Assert.assertEquals;
28
29
30
31
32 public abstract class AbstractSerializerTest
33 {
34 public abstract String getSerializerClassName();
35
36 @Test
37 public void factoryWithFQDN()
38 throws Exception
39 {
40 assertEquals( getSerializerClassName(),
41 SerializerFactory.createNewSerializer( getSerializerClassName() ).getClass().getName() );
42 }
43
44 @Test
45 public void simpleSerialization()
46 throws Exception
47 {
48 Wine wine = getWineInstance();
49
50 Serializer serializer = SerializerFactory.createNewSerializer( getSerializerClassName() );
51
52 byte[] bytes = serializer.serialize( wine );
53
54 Wine newWine = serializer.deserialize( bytes, Wine.class );
55
56 assertEquals( wine.getName(), newWine.getName() );
57 assertEquals( wine.getDescription(), newWine.getDescription() );
58
59 }
60
61 protected Wine getWineInstance()
62 {
63 return new Wine( "Gevrey-Chambertin", "nice French wine from Bourgogne" );
64 }
65
66 @Test( expected = SerializerNotFoundException.class )
67 public void serialiazerNotFoundException()
68 throws Exception
69 {
70
71 SerializerFactory.createNewSerializer( "toto.titi" );
72 }
73 }