Package net.jangaroo.utils

Source Code of net.jangaroo.utils.SourceFilesHandlerTest$SourceFilesValueHolder

package net.jangaroo.utils;

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.kohsuke.args4j.Argument;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import static junit.framework.Assert.assertEquals;

/**
*
*/
public class SourceFilesHandlerTest {
  @Rule
  public TemporaryFolder outputFolder = new TemporaryFolder();

  protected static class SourceFilesValueHolder {
    private List<File> sourcePath;

    @Argument(metaVar = "path", handler = SourceFilesHandler.class, required = true)
    public void setSourceFiles(List<File> sourcePath) {
      this.sourcePath = new ArrayList<File>(sourcePath);
    }
  }

  @Test(expected = CmdLineException.class)
  public void testDirectoryDoesNotExists() throws Exception {
    SourceFilesValueHolder holder = new SourceFilesValueHolder();
    CmdLineParser parser = new CmdLineParser(holder);
    parser.parseArgument("xyz");
  }

  @Test
  public void testWithOneDirectory() throws Exception {
    SourceFilesValueHolder holder = new SourceFilesValueHolder();
    CmdLineParser parser = new CmdLineParser(holder);
    parser.parseArgument(outputFolder.getRoot().toString());
    assertEquals("One folder", 1, holder.sourcePath.size());
  }

  @Test
  public void testWithMoreDirectories() throws Exception {
    SourceFilesValueHolder holder = new SourceFilesValueHolder();
    CmdLineParser parser = new CmdLineParser(holder);

    File one = outputFolder.newFile("one");
    File two = outputFolder.newFile("two");
    File three = outputFolder.newFile("three");

    parser.parseArgument(one.getAbsolutePath(), two.getAbsolutePath(), three.getAbsolutePath());

    assertEquals("three files", 3, holder.sourcePath.size());
  }
}
TOP

Related Classes of net.jangaroo.utils.SourceFilesHandlerTest$SourceFilesValueHolder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.