View Javadoc

1   package com.atlassian.vcache.internal.core.cas;
2   
3   import java.io.ByteArrayInputStream;
4   import java.io.ByteArrayOutputStream;
5   import java.io.IOException;
6   import java.io.ObjectInputStream;
7   import java.io.ObjectOutputStream;
8   
9   import static org.hamcrest.Matchers.is;
10  import static org.hamcrest.Matchers.notNullValue;
11  import static org.junit.Assert.assertThat;
12  
13  public class IdentifiedDataSerializableTest {
14      @org.junit.Test
15      public void the_basics() throws Exception {
16          final IdentifiedDataSerializable isFirst = new IdentifiedDataSerializable("outrage");
17  
18          assertThat(isFirst, notNullValue());
19          assertThat(isFirst.getObject(), is("outrage"));
20          assertThat(isFirst.equals(isFirst), is(true));
21  
22          final IdentifiedDataSerializable ibSecond = new IdentifiedDataSerializable("outrage");
23  
24          assertThat(ibSecond, notNullValue());
25          assertThat(ibSecond.getObject(), is("outrage"));
26          assertThat(isFirst.getObject(), is(ibSecond.getObject()));
27          assertThat(ibSecond.equals(ibSecond), is(true));
28          assertThat(isFirst.equals(ibSecond), is(false));
29          assertThat(ibSecond.equals(isFirst), is(false));
30      }
31  
32      @org.junit.Test
33      public void serialize_works() throws IOException, ClassNotFoundException {
34          final IdentifiedDataSerializable before = new IdentifiedDataSerializable("outrage");
35  
36          final ByteArrayOutputStream baos = new ByteArrayOutputStream();
37          final ObjectOutputStream oos = new ObjectOutputStream(baos);
38  
39          oos.writeObject(before);
40  
41          oos.flush();
42          oos.close();
43  
44          final ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
45          final ObjectInputStream ois = new ObjectInputStream(bais);
46  
47          final IdentifiedDataSerializable after = (IdentifiedDataSerializable) ois.readObject();
48  
49          ois.close();
50  
51          assertThat(before.equals(after), is(true));
52          assertThat(after.equals(before), is(true));
53      }
54  }