// Path: arquillian-chameleon-runner/api/src/main/java/org/arquillian/container/chameleon/api/Mode.java
// public enum Mode {
// 
//     EMBEDDED("embedded"),
//     MANAGED("managed"),
//     REMOTE("remote");
// 
//     private String mode;
// 
//     Mode(String mode) {
//         this.mode = mode;
//     }
// 
//     public String mode() {
//         return this.mode;
//     }
// 
// }
// 
// Path: arquillian-chameleon-runner/runner/src/test/java/org/arquillian/container/chameleon/runner/fixtures/GenericTest.java
// @ChameleonTarget(container = "tomcat", version = "7.0.0", customProperties = {
//     @Property(name="a", value="b")
// })
// public class GenericTest {
// }
// 
// Path: arquillian-chameleon-runner/runner/src/test/java/org/arquillian/container/chameleon/runner/fixtures/SystemPropertiesTest.java
// @ChameleonTarget("${arquillian.container}")
// public class SystemPropertiesTest {
// }
// 
// Path: arquillian-chameleon-runner/runner/src/test/java/org/arquillian/container/chameleon/runner/fixtures/Tomcat8Test.java
// @Tomcat8
// public class Tomcat8Test {
// }
// 
// Path: arquillian-chameleon-runner/runner/src/test/java/org/arquillian/container/chameleon/runner/fixtures/TomcatTest.java
// @Tomcat
// public class TomcatTest {
// }


import org.arquillian.container.chameleon.api.ChameleonTarget;
import org.arquillian.container.chameleon.api.Mode;
import org.arquillian.container.chameleon.runner.fixtures.GenericTest;
import org.arquillian.container.chameleon.runner.fixtures.SystemPropertiesTest;
import org.arquillian.container.chameleon.runner.fixtures.Tomcat;
import org.arquillian.container.chameleon.runner.fixtures.Tomcat8;
import org.arquillian.container.chameleon.runner.fixtures.Tomcat8Test;
import org.arquillian.container.chameleon.runner.fixtures.TomcatTest;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.entry;
package org.arquillian.container.chameleon.runner;



public class AnnotationExtractorTest {

    @Test
    public void should_get_proeprties_from_chameleon_annotation() {

        // given
        final ChameleonTarget chameleonTarget = GenericTest.class.getAnnotation(ChameleonTarget.class);

        // when
        final ChameleonTargetConfiguration chameleonTargetConfiguration = AnnotationExtractor.extract(chameleonTarget);

        // then
        assertThat(chameleonTargetConfiguration.getContainer()).isEqualTo("tomcat");
        assertThat(chameleonTargetConfiguration.getVersion()).isEqualTo("7.0.0");
// Path: arquillian-chameleon-runner/api/src/main/java/org/arquillian/container/chameleon/api/Mode.java
// public enum Mode {
// 
//     EMBEDDED("embedded"),
//     MANAGED("managed"),
//     REMOTE("remote");
// 
//     private String mode;
// 
//     Mode(String mode) {
//         this.mode = mode;
//     }
// 
//     public String mode() {
//         return this.mode;
//     }
// 
// }
// 
// Path: arquillian-chameleon-runner/runner/src/test/java/org/arquillian/container/chameleon/runner/fixtures/GenericTest.java
// @ChameleonTarget(container = "tomcat", version = "7.0.0", customProperties = {
//     @Property(name="a", value="b")
// })
// public class GenericTest {
// }
// 
// Path: arquillian-chameleon-runner/runner/src/test/java/org/arquillian/container/chameleon/runner/fixtures/SystemPropertiesTest.java
// @ChameleonTarget("${arquillian.container}")
// public class SystemPropertiesTest {
// }
// 
// Path: arquillian-chameleon-runner/runner/src/test/java/org/arquillian/container/chameleon/runner/fixtures/Tomcat8Test.java
// @Tomcat8
// public class Tomcat8Test {
// }
// 
// Path: arquillian-chameleon-runner/runner/src/test/java/org/arquillian/container/chameleon/runner/fixtures/TomcatTest.java
// @Tomcat
// public class TomcatTest {
// }


// Path: arquillian-chameleon-runner/runner/src/test/java/org/arquillian/container/chameleon/runner/AnnotationExtractorTest.java
import org.arquillian.container.chameleon.api.ChameleonTarget;
import org.arquillian.container.chameleon.api.Mode;
import org.arquillian.container.chameleon.runner.fixtures.GenericTest;
import org.arquillian.container.chameleon.runner.fixtures.SystemPropertiesTest;
import org.arquillian.container.chameleon.runner.fixtures.Tomcat;
import org.arquillian.container.chameleon.runner.fixtures.Tomcat8;
import org.arquillian.container.chameleon.runner.fixtures.Tomcat8Test;
import org.arquillian.container.chameleon.runner.fixtures.TomcatTest;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.entry;

package org.arquillian.container.chameleon.runner;



public class AnnotationExtractorTest {

    @Test
    public void should_get_proeprties_from_chameleon_annotation() {

        // given
        final ChameleonTarget chameleonTarget = GenericTest.class.getAnnotation(ChameleonTarget.class);

        // when
        final ChameleonTargetConfiguration chameleonTargetConfiguration = AnnotationExtractor.extract(chameleonTarget);

        // then
        assertThat(chameleonTargetConfiguration.getContainer()).isEqualTo("tomcat");
        assertThat(chameleonTargetConfiguration.getVersion()).isEqualTo("7.0.0");
        assertThat(chameleonTargetConfiguration.getMode()).isEqualTo(Mode.MANAGED);