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 TestRmClassExample { 15 @Test public void testRmExample() throws ArgumentValidationException { 16 final RmClassExample result0 = 17 CliFactory.parseArgumentsUsingInstance(new RmClassExample(), new String[] { "-vrf", "./" }); 18 assertTrue(result0.isRecursive()); 19 assertTrue(result0.isVerbose()); 20 assertTrue(result0.isForce()); 21 assertFalse(result0.isHelp()); 22 assertFalse(result0.isVersion()); 23 assertFalse(result0.isInteractive()); 24 assertFalse(result0.isRemoveNonEmptyDirectory()); 25 26 assertEquals(1, result0.getFiles().size()); 27 assertEquals(new File("./"), result0.getFiles().get(0)); 28 } 29 30 @Test public void testRmExampleHelp() throws ArgumentValidationException { 31 final Cli<RmClassExample> result0 = CliFactory.createCliUsingInstance(new RmClassExample()); 32 assertEquals( 33 UtilitiesForTesting.joinLines( 34 "Usage: rm [options] FILE...", 35 "\t[--force -f] : ignore nonexistent files, never prompt", 36 "\t[--help] : display this help and exit", 37 "\t[--interactive -i] : prompt before any removal", 38 "\t[--recursive -r -R] : remove the contents of directories recursively", 39 "\t[--directory -d] : unlink FILE, even if it is a non-empty directory (super-user only)", 40 "\t[--verbose -v] : explain what is being done", 41 "\t[--version] : output version information and exit"), result0.getHelpMessage()); 42 } 43 }