package net.sf.eclipsefp.haskell.core.expressions; import static org.easymock.EasyMock.createNiceMock; import static org.easymock.EasyMock.expect; import static org.easymock.EasyMock.replay; import junit.framework.TestCase; import net.sf.eclipsefp.haskell.util.FileUtil; import org.eclipse.core.resources.IFile; public class HaskellPropertyTester_PDETest extends TestCase { private HaskellPropertyTester tester; private IFile haskellFile; private IFile literateHaskellFile; private IFile javaFile; @Override protected void setUp() { haskellFile = createNiceMock(IFile.class); literateHaskellFile = createNiceMock(IFile.class); javaFile = createNiceMock(IFile.class); expect(haskellFile.getName()).andReturn("Quicksort.hs"); expect(haskellFile.getFileExtension()).andReturn(FileUtil.EXTENSION_HS); expect(literateHaskellFile.getName()) .andReturn("MyModule.lhs") .anyTimes(); expect(literateHaskellFile.getFileExtension()).andReturn(FileUtil.EXTENSION_LHS).anyTimes(); expect(javaFile.getName()).andReturn("MyClass.java").anyTimes(); replay(haskellFile, literateHaskellFile, javaFile); tester = new HaskellPropertyTester(); } public void testDetectsTraditionalHaskellFile() { assertTrue(tester.test(haskellFile , "isHaskellFile", null, null)); } public void testDetectsLiterateHaskellFile() { assertTrue(tester.test(literateHaskellFile, "isHaskellFile", null, null)); } public void testRejectsNonHaskellFile() { assertFalse(tester.test(javaFile, "isHaskellFile", null, null)); } }