-
Notifications
You must be signed in to change notification settings - Fork 397
Expand file tree
/
Copy pathTestUsageNamingConvention.java
More file actions
34 lines (27 loc) · 1.37 KB
/
TestUsageNamingConvention.java
File metadata and controls
34 lines (27 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package sqlancer;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import java.util.List;
import org.junit.jupiter.api.Test;
import com.beust.jcommander.JCommander;
import com.beust.jcommander.JCommander.Builder;
import com.beust.jcommander.Parameters;
public class TestUsageNamingConvention {
@Test
void testNonEmptyDescription() {
List<DatabaseProvider<?, ?, ?>> providers = Main.getDBMSProviders();
MainOptions options = new MainOptions();
Builder commandBuilder = JCommander.newBuilder().addObject(options);
for (DatabaseProvider<?, ?, ?> provider : providers) {
String name = provider.getDBMSName();
if (!name.toLowerCase().equals(name)) {
throw new AssertionError(name + " should be in lowercase!");
}
commandBuilder.addCommand(provider.getDBMSName(), provider.getOptionClass());
Parameters param = provider.getOptionClass().getAnnotation(Parameters.class);
assertNotEquals(null, param, provider.getOptionClass().toString());
String databaseDescription = param.commandDescription();
assertNotEquals(null, databaseDescription, "description cannot be empty " + provider.getOptionClass());
assertNotEquals("", databaseDescription, "description cannot be empty " + provider.getOptionClass());
}
}
}