package com.uwsoft.editor.controller; import com.puremvc.patterns.observer.BaseNotification; import com.puremvc.patterns.proxy.Proxy; import com.uwsoft.editor.Overlap2DFacade; import com.uwsoft.editor.proxy.CursorManager; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import static org.mockito.Matchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.MockitoAnnotations.initMocks; @RunWith(PowerMockRunner.class) @PrepareForTest({Overlap2DFacade.class, CursorManager.class, BootstrapProxyCommand.class}) public class BootstrapProxyCommandTest { private BootstrapProxyCommand bootstrapProxyCommand; @Mock private Overlap2DFacade overlap2DFacade; @Mock private CursorManager cursorManager; @Before public void setUp() throws Exception { initMocks(this); PowerMockito.mockStatic(Overlap2DFacade.class); PowerMockito.when(Overlap2DFacade.getInstance()).thenReturn(overlap2DFacade); PowerMockito.whenNew(CursorManager.class).withNoArguments().thenReturn(cursorManager); bootstrapProxyCommand = new BootstrapProxyCommand(); } @Test public void shouldRegisterAllProxy() throws Exception { bootstrapProxyCommand.execute(new BaseNotification("baseNotification")); verify(overlap2DFacade, times(8)).registerProxy(any(Proxy.class)); } }