package com.github.sarxos.webcam; import java.awt.Dimension; import java.util.ArrayList; import java.util.Arrays; import org.easymock.EasyMock; import org.easymock.EasyMockRunner; import org.easymock.EasyMockSupport; import org.easymock.Mock; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(EasyMockRunner.class) public class WebcamTest extends EasyMockSupport { @Mock WebcamDriver driver; @Mock WebcamDevice device; @Test public void test_open() { EasyMock .expect(device.getName()) .andReturn("HD Mock Device") .anyTimes(); EasyMock .expect(device.isOpen()) .andReturn(false) .once(); EasyMock .expect(device.getResolution()) .andReturn(new Dimension(1024, 768)) .once(); device.open(); EasyMock .expectLastCall() .once(); device.dispose(); EasyMock .expectLastCall() .anyTimes(); EasyMock .expect(driver.getDevices()) .andReturn(new ArrayList<WebcamDevice>(Arrays.asList(device))) .anyTimes(); EasyMock .expect(driver.isThreadSafe()) .andReturn(true) .anyTimes(); replayAll(); Webcam.setDriver(driver); Webcam webcam = Webcam.getDefault(); webcam.open(); verifyAll(); } }