Package org.squirrelframework.foundation.component

Source Code of org.squirrelframework.foundation.component.HeartBeatTest$MethodCalls

package org.squirrelframework.foundation.component;

import org.junit.Before;
import org.junit.Test;
import org.mockito.InOrder;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.squirrelframework.foundation.component.Heartbeat;
import org.squirrelframework.foundation.component.SquirrelProvider;

public class HeartBeatTest {
   
    interface MethodCalls {
        void method1();
        void method2();
        void method3();
        void method4();
    }
   
    @Mock
    MethodCalls methodCalls;
   
    @Before
    public void setup() {
        MockitoAnnotations.initMocks(this);
    }

    @Test
    public void testHeartBeat() {
        InOrder callSequence = Mockito.inOrder(methodCalls);
        Heartbeat hb = SquirrelProvider.getInstance().newInstance(Heartbeat.class);
        hb.begin();
        hb.defer(new Runnable() {
            @Override
            public void run() {
                methodCalls.method1();
            }
        });
        hb.defer(new Runnable() {
            @Override
            public void run() {
                methodCalls.method3();
            }
        });
        callSequence.verify(methodCalls, Mockito.times(0)).method1();
        callSequence.verify(methodCalls, Mockito.times(0)).method2();
        callSequence.verify(methodCalls, Mockito.times(0)).method3();
        callSequence.verify(methodCalls, Mockito.times(0)).method4();
        hb.begin();
        hb.defer(new Runnable() {
            @Override
            public void run() {
                methodCalls.method2();
            }
        });
        hb.defer(new Runnable() {
            @Override
            public void run() {
                methodCalls.method4();
            }
        });
        callSequence.verify(methodCalls, Mockito.times(0)).method1();
        callSequence.verify(methodCalls, Mockito.times(0)).method2();
        callSequence.verify(methodCalls, Mockito.times(0)).method3();
        callSequence.verify(methodCalls, Mockito.times(0)).method4();
        hb.execute();
        callSequence.verify(methodCalls, Mockito.times(0)).method1();
        callSequence.verify(methodCalls, Mockito.times(1)).method2();
        callSequence.verify(methodCalls, Mockito.times(0)).method3();
        callSequence.verify(methodCalls, Mockito.times(1)).method4();
        hb.execute();
        callSequence.verify(methodCalls, Mockito.times(1)).method1();
        callSequence.verify(methodCalls, Mockito.times(0)).method2();
        callSequence.verify(methodCalls, Mockito.times(1)).method3();
        callSequence.verify(methodCalls, Mockito.times(0)).method4();
    }
}
TOP

Related Classes of org.squirrelframework.foundation.component.HeartBeatTest$MethodCalls

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.