// Path: src/main/java/com/github/jankroken/commandline/domain/InvalidOptionConfigurationException.java
// public class InvalidOptionConfigurationException extends CommandLineException {
//     private static final long serialVersionUID = 2L;
// 
//     public InvalidOptionConfigurationException(String message) {
//         super(message);
//     }
// }
// 
// Path: src/main/java/com/github/jankroken/commandline/CommandLineParser.java
// public static <T> T parse(Class<T> optionClass, String[] args, OptionStyle style)
//         throws IllegalAccessException, InstantiationException, InvocationTargetException {
//     T spec;
//     try {
//         spec = optionClass.getConstructor().newInstance();
//     } catch (NoSuchMethodException noSuchMethodException) {
//         throw new RuntimeException(noSuchMethodException);
//     }
//     var optionSet = new OptionSet(spec, MAIN_OPTIONS);
//     Tokenizer tokenizer;
//     if (style == SIMPLE) {
//         tokenizer = new SimpleTokenizer(new PeekIterator<>(new ArrayIterator<>(args)));
//     } else {
//         tokenizer = new LongOrCompactTokenizer(new PeekIterator<>(new ArrayIterator<>(args)));
//     }
//     optionSet.consumeOptions(tokenizer);
//     return spec;
// }
// 
// Path: src/main/java/com/github/jankroken/commandline/util/Constants.java
// public static final String[] EMPTY_STRING_ARRAY = new String[]{};


import com.github.jankroken.commandline.domain.InvalidOptionConfigurationException;
import org.junit.jupiter.api.Test;
import static com.github.jankroken.commandline.CommandLineParser.parse;
import static com.github.jankroken.commandline.OptionStyle.SIMPLE;
import static com.github.jankroken.commandline.util.Constants.EMPTY_STRING_ARRAY;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
package com.github.jankroken.commandline.error;




public class InvalidConfigurationTests {

    @Test
    public void testMissingSwitches() {
        assertThatThrownBy(() -> parse(MissingSwitchesConfiguration.class, EMPTY_STRING_ARRAY, SIMPLE))
// Path: src/main/java/com/github/jankroken/commandline/domain/InvalidOptionConfigurationException.java
// public class InvalidOptionConfigurationException extends CommandLineException {
//     private static final long serialVersionUID = 2L;
// 
//     public InvalidOptionConfigurationException(String message) {
//         super(message);
//     }
// }
// 
// Path: src/main/java/com/github/jankroken/commandline/CommandLineParser.java
// public static <T> T parse(Class<T> optionClass, String[] args, OptionStyle style)
//         throws IllegalAccessException, InstantiationException, InvocationTargetException {
//     T spec;
//     try {
//         spec = optionClass.getConstructor().newInstance();
//     } catch (NoSuchMethodException noSuchMethodException) {
//         throw new RuntimeException(noSuchMethodException);
//     }
//     var optionSet = new OptionSet(spec, MAIN_OPTIONS);
//     Tokenizer tokenizer;
//     if (style == SIMPLE) {
//         tokenizer = new SimpleTokenizer(new PeekIterator<>(new ArrayIterator<>(args)));
//     } else {
//         tokenizer = new LongOrCompactTokenizer(new PeekIterator<>(new ArrayIterator<>(args)));
//     }
//     optionSet.consumeOptions(tokenizer);
//     return spec;
// }
// 
// Path: src/main/java/com/github/jankroken/commandline/util/Constants.java
// public static final String[] EMPTY_STRING_ARRAY = new String[]{};


// Path: src/test/java/com/github/jankroken/commandline/error/InvalidConfigurationTests.java
import com.github.jankroken.commandline.domain.InvalidOptionConfigurationException;
import org.junit.jupiter.api.Test;
import static com.github.jankroken.commandline.CommandLineParser.parse;
import static com.github.jankroken.commandline.OptionStyle.SIMPLE;
import static com.github.jankroken.commandline.util.Constants.EMPTY_STRING_ARRAY;
import static org.assertj.core.api.Assertions.assertThatThrownBy;

package com.github.jankroken.commandline.error;




public class InvalidConfigurationTests {

    @Test
    public void testMissingSwitches() {
        assertThatThrownBy(() -> parse(MissingSwitchesConfiguration.class, EMPTY_STRING_ARRAY, SIMPLE))
                .isInstanceOf(InvalidOptionConfigurationException.class);