package com.lexicalscope.jewel.cli.examples;
import static org.junit.Assert.*;
import java.io.File;
import org.junit.Test;
import com.lexicalscope.jewel.UtilitiesForTesting;
import com.lexicalscope.jewel.cli.ArgumentValidationException;
import com.lexicalscope.jewel.cli.Cli;
import com.lexicalscope.jewel.cli.CliFactory;
public class TestRmExample {
@Test public void testRmExample() throws ArgumentValidationException {
final RmExample result0 = CliFactory.parseArguments(RmExample.class, new String[] { "-vrf", "./" });
assertTrue(result0.isRecursive());
assertTrue(result0.isVerbose());
assertTrue(result0.isForce());
assertFalse(result0.isHelp());
assertFalse(result0.isVersion());
assertFalse(result0.isInteractive());
assertEquals(1, result0.getFiles().size());
assertEquals(new File("./"), result0.getFiles().get(0));
}
@Test public void testRmExampleHelp() throws ArgumentValidationException {
final Cli<RmExample> result0 = CliFactory.createCli(RmExample.class);
assertEquals(
UtilitiesForTesting.joinLines(
"Usage: rm [options] FILE...",
"\t[--force -f] : ignore nonexistent files, never prompt",
"\t[--help] : display this help and exit",
"\t[--interactive -i] : prompt before any removal",
"\t[--recursive -r -R] : remove the contents of directories recursively",
"\t[--directory -d] : unlink FILE, even if it is a non-empty directory (super-user only)",
"\t[--verbose -v] : explain what is being done",
"\t[--version] : output version information and exit"), result0.getHelpMessage());
}
}