package eu.dnetlib.workflow.sarasvati;

import static org.junit.Assert.assertEquals;

import java.util.Collection;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnit44Runner;

import com.googlecode.sarasvati.GraphProcess;

/**
 * Test the graph process registry component.
 *
 * @author marko
 *
 */
@RunWith(MockitoJUnit44Runner.class)
public class MemGraphProcessRegistryTest {

	/**
	 * instance under test.
	 */
	private transient MemGraphProcessRegistry registry;

	/**
	 * process mock.
	 */
	@Mock
	private transient GraphProcess process;

	/**
	 * common init.
	 *
	 */
	@Before
	public void setUp() {
		registry = new MemGraphProcessRegistry();
	}

	/**
	 * find processes associated with a specific resource.
	 */
	@Test
	public void testFindProcessesByResource() {
		registry.associateProcessWithResource(process, "123");

		final Collection<GraphProcess> res = registry.findProcessesByResource("123");
		assertEquals("check", process, res.iterator().next());
	}

}
