2015-03-23 1 views
3

J'ai un tas de classes de sérialisation que j'ai écrites et je veux écrire des tests unitaires, essentiellement pour tester si un objet est sérialisé et non sérialisé que l'objet résultant est considéré comme égal. Je ne suis pas sûr comment faire la sérialisation cependant. Je l'utilise avec la tempête et cette partie semble se produire comme par magie, donc je ne suis pas sûr de savoir comment.Écrire des tests unitaires pour les sérialiseurs Kryo

Il existe des objets d'entrée et de sortie qui lisent et écrivent dans le flux mais je ne suis pas sûr de savoir comment transformer une sortie en entrée.

Voici un sérialiseur de base comme un exemple

import com.esotericsoftware.kryo.Kryo; 
import com.esotericsoftware.kryo.Serializer; 
import com.esotericsoftware.kryo.io.Input; 
import com.esotericsoftware.kryo.io.Output; 

public class BasicSerialiser extends Serializer<BasicObject> { 

    @Override 
    public void write (Kryo kryo, Output output, BasicObject obj) { 
     super.write(kryo, output, messageSummary); 
     output.writeString(obj.name); 
     output.writeDouble(obj.timestamp); 
     output.writeBoolean(obj.isOrange()); 
    } 

    @Override 
    public BasicObject read(Kryo kryo, Input input, Class<BasicObject> aClass) { 
     return new BasicObject(
       input.readString(), 
       input.readDouble(), 
       input.readBoolean() 
     ); 
    } 
} 

Répondre