Package org.mockitousage.serialization

Source Code of org.mockitousage.serialization.DeserializeMockFromFile

/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/

package org.mockitousage.serialization;

import org.mockito.Mockito;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.util.Observable;

/**
* These classes are here purely to show that mocks can be serialized in a different VM
*
* Just run as standalone app {@link SerializeMockToFile}, then {@link DeserializeMockFromFile}
*/

public class DeserializeMockFromFile {

    public static void main(String[] args) {
        Observable o = (Observable) deSerializeObject("mockito_mock.ser");

        // then verify
        Mockito.verify(o).addObserver(null);
        Mockito.verify(o).countObservers();
    }

    private static Object deSerializeObject(String filename) {
        InputStream is = null;
        ObjectInputStream ois = null;
        Object returnObject = null;
        try {

            is = new BufferedInputStream(new FileInputStream(filename));
            ois = new ObjectInputStream(is);
            returnObject = ois.readObject();

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (is != null)
                    is.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            try {
                if (ois != null)
                    ois.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return returnObject;
    }
  
}
TOP

Related Classes of org.mockitousage.serialization.DeserializeMockFromFile

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.