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  }