package com.github.jknack.antlr4ide.issues; import static org.easymock.EasyMock.createMock; import static org.easymock.EasyMock.expect; import static org.easymock.EasyMock.replay; import static org.easymock.EasyMock.verify; import static org.junit.Assert.assertEquals; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.junit.Test; import com.github.jknack.antlr4ide.generator.ToolOptions; import com.google.common.collect.Lists; public class Issue16 { @Test public void commandWithPackageNameFromAction() { IProject project = createMock(IProject.class); IPath projectPath = Path.fromOSString("home").append("project"); IFile file = createMock(IFile.class); IPath filePath = Path.fromOSString("home").append("project").append("Hello.g4"); IPath outputPath = Path.fromOSString("target").append("generated-sources").append("antlr4"); expect(file.getProject()).andReturn(project); expect(file.getLocation()).andReturn(filePath); expect(project.getLocation()).andReturn(projectPath); Object[] mocks = {file, project }; replay(mocks); ToolOptions options = new ToolOptions(); options.setPackageName("org.package"); options.setPackageInsideAction(true); options.setOutputDirectory(outputPath.toOSString()); assertEquals(Lists .newArrayList("-o", projectPath.append(outputPath).append("org").append("package") .toOSString(), "-listener", "-no-visitor", "-encoding", "UTF-8"), options.command(file)); verify(mocks); } }