File tree Expand file tree Collapse file tree 2 files changed +83
-0
lines changed
main/java/io/mincong/junit5
test/java/io/mincong/junit5 Expand file tree Collapse file tree 2 files changed +83
-0
lines changed Original file line number Diff line number Diff line change 1+ package io .mincong .junit5 ;
2+
3+ public enum FilePermission {
4+ X (1 ),
5+ W (2 ),
6+ WX (3 ),
7+ R (4 ),
8+ RX (5 ),
9+ RW (6 ),
10+ RWX (7 );
11+
12+ private final boolean readable ;
13+ private final boolean writable ;
14+ private final boolean executable ;
15+
16+ FilePermission (int v ) {
17+ this .executable = (v & 0b001) == 1 ;
18+ this .writable = (v & 0b010) == 2 ;
19+ this .readable = (v & 0b100) == 4 ;
20+ }
21+
22+ boolean isReadable () {
23+ return readable ;
24+ }
25+
26+ boolean isWritable () {
27+ return writable ;
28+ }
29+
30+ boolean isExecutable () {
31+ return executable ;
32+ }
33+ }
Original file line number Diff line number Diff line change 1+ package io .mincong .junit5 ;
2+
3+ import static org .assertj .core .api .Assertions .assertThat ;
4+
5+ import org .junit .jupiter .params .ParameterizedTest ;
6+ import org .junit .jupiter .params .provider .CsvSource ;
7+
8+ class FilePermissionTest {
9+ @ ParameterizedTest
10+ @ CsvSource ({
11+ "R, false" ,
12+ "W, false" ,
13+ "RW, false" ,
14+ "X, true" ,
15+ "RX, true" ,
16+ "WX, true" ,
17+ "RWX, true" ,
18+ })
19+ void isExecutable (FilePermission perm , boolean isExecutable ) {
20+ assertThat (perm .isExecutable ()).isEqualTo (isExecutable );
21+ }
22+
23+ @ ParameterizedTest
24+ @ CsvSource ({
25+ "W, false" ,
26+ "X, false" ,
27+ "WX, false" ,
28+ "R, true" ,
29+ "RW, true" ,
30+ "RX, true" ,
31+ "RWX, true" ,
32+ })
33+ void isReadable (FilePermission perm , boolean isReadable ) {
34+ assertThat (perm .isReadable ()).isEqualTo (isReadable );
35+ }
36+
37+ @ ParameterizedTest
38+ @ CsvSource ({
39+ "X, false" ,
40+ "R, false" ,
41+ "RX, false" ,
42+ "W, true" ,
43+ "WX, true" ,
44+ "RW, true" ,
45+ "RWX, true" ,
46+ })
47+ void isWritable (FilePermission perm , boolean isWritable ) {
48+ assertThat (perm .isWritable ()).isEqualTo (isWritable );
49+ }
50+ }
You can’t perform that action at this time.
0 commit comments