1 package com.lexicalscope.jewel.cli.examples; 2 3 import static org.junit.Assert.*; 4 5 import java.io.File; 6 7 import org.junit.Test; 8 9 import com.lexicalscope.jewel.UtilitiesForTesting; 10 import com.lexicalscope.jewel.cli.ArgumentValidationException; 11 import com.lexicalscope.jewel.cli.Cli; 12 import com.lexicalscope.jewel.cli.CliFactory; 13 14 public class TestRmExample { 15 @Test public void testRmExample() throws ArgumentValidationException { 16 final RmExample result0 = CliFactory.parseArguments(RmExample.class, new String[] { "-vrf", "./" }); 17 assertTrue(result0.isRecursive()); 18 assertTrue(result0.isVerbose()); 19 assertTrue(result0.isForce()); 20 assertFalse(result0.isHelp()); 21 assertFalse(result0.isVersion()); 22 assertFalse(result0.isInteractive()); 23 24 assertEquals(1, result0.getFiles().size()); 25 assertEquals(new File("./"), result0.getFiles().get(0)); 26 } 27 28 @Test public void testRmExampleHelp() throws ArgumentValidationException { 29 final Cli<RmExample> result0 = CliFactory.createCli(RmExample.class); 30 assertEquals( 31 UtilitiesForTesting.joinLines( 32 "Usage: rm [options] FILE...", 33 "\t[--force -f] : ignore nonexistent files, never prompt", 34 "\t[--help] : display this help and exit", 35 "\t[--interactive -i] : prompt before any removal", 36 "\t[--recursive -r -R] : remove the contents of directories recursively", 37 "\t[--directory -d] : unlink FILE, even if it is a non-empty directory (super-user only)", 38 "\t[--verbose -v] : explain what is being done", 39 "\t[--version] : output version information and exit"), result0.getHelpMessage()); 40 } 41 }