// Path: java/core/src/main/java/eu/mais_h/mathsync/serialize/Deserializer.java
// public interface Deserializer<T> {
// 
//   /**
//    * Deserializes an array of bytes back to an object.
//    *
//    * <p>Any array of bytes should lead to either a non <code>null</code> value or throw an
//    * {@link IllegalArgumentException}.</p>
//    *
//    * <p>The output must be consistent, an identical output should be returned if called twice
//    * on the identical arrays: for any valid <code>a1</code> and <code>a2</code>,
//    * <code>Arrays.equals(a1, a2)</code> implies
//    * <code>deserialize(a1).equals(deserialize(a2))</code>.</p>
//    *
//    * @param content the array of bytes representing an object.
//    * @return the object deserialized from the array of bytes.
//    * @throws IllegalArgumentException if the input array does not denote a valid object.
//    */
//   T deserialize(byte[] content) throws IllegalArgumentException;
// }


import static org.fest.assertions.Assertions.assertThat;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Matchers;
import org.mockito.Mockito;
import eu.mais_h.mathsync.serialize.Deserializer;
package eu.mais_h.mathsync;





public class DeserializedDifferenceTest {

  @SuppressWarnings("unchecked")
  Difference<byte[]> serialized = Mockito.mock(Difference.class);

  @SuppressWarnings("unchecked")
// Path: java/core/src/main/java/eu/mais_h/mathsync/serialize/Deserializer.java
// public interface Deserializer<T> {
// 
//   /**
//    * Deserializes an array of bytes back to an object.
//    *
//    * <p>Any array of bytes should lead to either a non <code>null</code> value or throw an
//    * {@link IllegalArgumentException}.</p>
//    *
//    * <p>The output must be consistent, an identical output should be returned if called twice
//    * on the identical arrays: for any valid <code>a1</code> and <code>a2</code>,
//    * <code>Arrays.equals(a1, a2)</code> implies
//    * <code>deserialize(a1).equals(deserialize(a2))</code>.</p>
//    *
//    * @param content the array of bytes representing an object.
//    * @return the object deserialized from the array of bytes.
//    * @throws IllegalArgumentException if the input array does not denote a valid object.
//    */
//   T deserialize(byte[] content) throws IllegalArgumentException;
// }


// Path: java/core/src/test/java/eu/mais_h/mathsync/DeserializedDifferenceTest.java
import static org.fest.assertions.Assertions.assertThat;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Matchers;
import org.mockito.Mockito;
import eu.mais_h.mathsync.serialize.Deserializer;

package eu.mais_h.mathsync;





public class DeserializedDifferenceTest {

  @SuppressWarnings("unchecked")
  Difference<byte[]> serialized = Mockito.mock(Difference.class);

  @SuppressWarnings("unchecked")
  Deserializer<String> deserializer = Mockito.mock(Deserializer.class);