// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface ClassNameAnnotation extends GssResource {
//   @ClassName("renamed-class")
//   String renamedClass();
// 
//   String nonRenamedClass();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface EmptyClass extends GssResource {
//   String empty();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface NonStandardAtRules extends GssResource {
//   String foo();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface NonStandardFunctions extends GssResource {
//   String foo();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface RuntimeConditional extends GssResource {
//   String foo();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface SomeGssResource extends GssResource {
//   String someClass();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface WithConstant extends GssResource {
//   String constantOne();
// 
//   String classOne();
// }


import com.google.gwt.resources.client.TestResources.ClassNameAnnotation;
import com.google.gwt.resources.client.TestResources.EmptyClass;
import com.google.gwt.resources.client.TestResources.NonStandardAtRules;
import com.google.gwt.resources.client.TestResources.NonStandardFunctions;
import com.google.gwt.resources.client.TestResources.RuntimeConditional;
import com.google.gwt.resources.client.TestResources.SomeGssResource;
import com.google.gwt.resources.client.TestResources.WithConstant;
    assertNotSame("white", res().cssWithConstant().conflictConstantClass());
  }

  public void testNotStrict() {
    SomeGssResource notStrict = res().notstrict();

    String expectedCss = "." + notStrict.someClass() + "{color:black}.otherNotStrictClass{" +
        "color:white}";

    assertEquals(expectedCss, notStrict.getText());
  }

  public void testRuntimeConditional() {
    RuntimeConditional runtimeConditional = res().runtimeConditional();
    String foo = runtimeConditional.foo();

    BooleanEval.FIRST = true;
    BooleanEval.SECOND = true;
    BooleanEval.THIRD = true;

    assertEquals(runtimeExpectedCss("purple", "20px", foo), runtimeConditional.getText());

    BooleanEval.FIRST = false;
    BooleanEval.SECOND = true;
    BooleanEval.THIRD = true;

    assertEquals(runtimeExpectedCss("black", null, foo), runtimeConditional.getText());

    BooleanEval.FIRST = false;
    BooleanEval.SECOND = true;
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface ClassNameAnnotation extends GssResource {
//   @ClassName("renamed-class")
//   String renamedClass();
// 
//   String nonRenamedClass();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface EmptyClass extends GssResource {
//   String empty();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface NonStandardAtRules extends GssResource {
//   String foo();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface NonStandardFunctions extends GssResource {
//   String foo();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface RuntimeConditional extends GssResource {
//   String foo();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface SomeGssResource extends GssResource {
//   String someClass();
// }
// 
// Path: src/test/java/com/google/gwt/resources/client/TestResources.java
// interface WithConstant extends GssResource {
//   String constantOne();
// 
//   String classOne();
// }


// Path: src/test/java/com/google/gwt/resources/client/GssResourceTest.java
import com.google.gwt.resources.client.TestResources.ClassNameAnnotation;
import com.google.gwt.resources.client.TestResources.EmptyClass;
import com.google.gwt.resources.client.TestResources.NonStandardAtRules;
import com.google.gwt.resources.client.TestResources.NonStandardFunctions;
import com.google.gwt.resources.client.TestResources.RuntimeConditional;
import com.google.gwt.resources.client.TestResources.SomeGssResource;
import com.google.gwt.resources.client.TestResources.WithConstant;

    assertNotSame("white", res().cssWithConstant().conflictConstantClass());
  }

  public void testNotStrict() {
    SomeGssResource notStrict = res().notstrict();

    String expectedCss = "." + notStrict.someClass() + "{color:black}.otherNotStrictClass{" +
        "color:white}";

    assertEquals(expectedCss, notStrict.getText());
  }

  public void testRuntimeConditional() {
    RuntimeConditional runtimeConditional = res().runtimeConditional();
    String foo = runtimeConditional.foo();

    BooleanEval.FIRST = true;
    BooleanEval.SECOND = true;
    BooleanEval.THIRD = true;

    assertEquals(runtimeExpectedCss("purple", "20px", foo), runtimeConditional.getText());

    BooleanEval.FIRST = false;
    BooleanEval.SECOND = true;
    BooleanEval.THIRD = true;

    assertEquals(runtimeExpectedCss("black", null, foo), runtimeConditional.getText());

    BooleanEval.FIRST = false;
    BooleanEval.SECOND = true;
    BooleanEval.THIRD = false;