Skip to content

Commit e3f4d1c

Browse files
author
John Keyes
committed
- added tests (100% clover coverage)
git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/cli/trunk@278632 13f79535-47bb-0310-9956-ffa450edef68
1 parent fb2328a commit e3f4d1c

1 file changed

Lines changed: 91 additions & 11 deletions

File tree

src/test/org/apache/commons/cli2/validation/FileValidatorTest.java

Lines changed: 91 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
/**
2-
* Copyright 2004 The Apache Software Foundation
1+
/*
2+
* Copyright 2004-2005 The Apache Software Foundation
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -22,8 +22,14 @@
2222

2323
import junit.framework.TestCase;
2424

25+
/**
26+
* JUnit test case for the FileValidator.
27+
*
28+
* @author Rob Oxspring
29+
* @author John Keyes
30+
*/
2531
public class FileValidatorTest extends TestCase {
26-
32+
2733
public void testValidate() throws InvalidArgumentException {
2834
final Object[] array = new Object[] { "src", "project.xml", "veryunlikelyfilename"};
2935
final List list = Arrays.asList(array);
@@ -37,11 +43,16 @@ public void testValidate() throws InvalidArgumentException {
3743
assertEquals(new File("veryunlikelyfilename"), i.next());
3844
assertFalse(i.hasNext());
3945
}
40-
46+
4147
public void testValidate_Directory() {
4248
final Object[] array = new Object[] { "src", "project.xml"};
4349
final List list = Arrays.asList(array);
44-
final Validator validator = FileValidator.getExistingDirectoryInstance();
50+
final FileValidator validator = FileValidator.getExistingDirectoryInstance();
51+
52+
assertTrue("is a directory validator", validator.isDirectory());
53+
assertFalse("is not a file validator", validator.isFile());
54+
assertTrue("is an existing file validator", validator.isExisting());
55+
assertFalse("is not a hidden file validator", validator.isHidden());
4556

4657
try{
4758
validator.validate(list);
@@ -51,11 +62,61 @@ public void testValidate_Directory() {
5162
assertEquals("project.xml",e.getMessage());
5263
}
5364
}
54-
55-
public void testValidate_File() {
56-
final Object[] array = new Object[] { "project.xml", "src"};
65+
66+
public void testValidate_ReadableFile() {
67+
final Object[] array = new Object[] { "src/test/data/readable.txt", "src/test/data/notreadable.txt"};
5768
final List list = Arrays.asList(array);
58-
final Validator validator = FileValidator.getExistingFileInstance();
69+
final FileValidator validator = FileValidator.getExistingFileInstance();
70+
validator.setReadable(true);
71+
72+
assertFalse("is not a directory validator", validator.isDirectory());
73+
assertTrue("is a file validator", validator.isFile());
74+
assertTrue("is an existing file validator", validator.isExisting());
75+
assertFalse("is not a hidden file validator", validator.isHidden());
76+
assertTrue("is a readable file validator", validator.isReadable());
77+
assertFalse("is not a writable file validator", validator.isWritable());
78+
79+
try{
80+
validator.validate(list);
81+
fail("InvalidArgumentException");
82+
}
83+
catch(InvalidArgumentException e){
84+
assertEquals("src/test/data/notreadable.txt",e.getMessage());
85+
}
86+
}
87+
88+
public void testValidate_WritableFile() {
89+
final Object[] array = new Object[] { "src/test/data/writable.txt", "src/test/data/readable.txt"};
90+
final List list = Arrays.asList(array);
91+
final FileValidator validator = FileValidator.getExistingFileInstance();
92+
validator.setWritable(true);
93+
94+
assertFalse("is not a directory validator", validator.isDirectory());
95+
assertTrue("is a file validator", validator.isFile());
96+
assertTrue("is an existing file validator", validator.isExisting());
97+
assertFalse("is not a hidden file validator", validator.isHidden());
98+
assertTrue("is not a readable file validator", validator.isReadable());
99+
assertFalse("is a writable file validator", validator.isWritable());
100+
101+
try{
102+
validator.validate(list);
103+
fail("InvalidArgumentException");
104+
}
105+
catch(InvalidArgumentException e){
106+
assertEquals("src/test/data/readable.txt",e.getMessage());
107+
}
108+
}
109+
110+
public void testValidate_HiddenFile() throws InvalidArgumentException {
111+
final Object[] array = new Object[] { "src/test/data/hidden.txt", "src"};
112+
final List list = Arrays.asList(array);
113+
final FileValidator validator = FileValidator.getExistingFileInstance();
114+
validator.setHidden(true);
115+
116+
assertFalse("is not a directory validator", validator.isDirectory());
117+
assertTrue("is a file validator", validator.isFile());
118+
assertTrue("is an existing file validator", validator.isExisting());
119+
assertTrue("is a hidden file validator", validator.isHidden());
59120

60121
try{
61122
validator.validate(list);
@@ -65,11 +126,16 @@ public void testValidate_File() {
65126
assertEquals("src",e.getMessage());
66127
}
67128
}
68-
129+
69130
public void testValidate_Existing() {
70131
final Object[] array = new Object[] { "project.xml", "veryunlikelyfilename"};
71132
final List list = Arrays.asList(array);
72-
final Validator validator = FileValidator.getExistingInstance();
133+
final FileValidator validator = FileValidator.getExistingInstance();
134+
135+
assertFalse("is not a directory validator", validator.isDirectory());
136+
assertFalse("is not a file validator", validator.isFile());
137+
assertTrue("is an existing file validator", validator.isExisting());
138+
assertFalse("is not a hidden file validator", validator.isHidden());
73139

74140
try{
75141
validator.validate(list);
@@ -79,4 +145,18 @@ public void testValidate_Existing() {
79145
assertEquals("veryunlikelyfilename",e.getMessage());
80146
}
81147
}
148+
149+
public void testValidate_File() {
150+
final Object[] array = new Object[] { "project.xml", "src"};
151+
final List list = Arrays.asList(array);
152+
final Validator validator = FileValidator.getExistingFileInstance();
153+
154+
try{
155+
validator.validate(list);
156+
fail("InvalidArgumentException");
157+
}
158+
catch(InvalidArgumentException e){
159+
assertEquals("src",e.getMessage());
160+
}
161+
}
82162
}

0 commit comments

Comments
 (0)