// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanConstructor() {
//   return new HasValidBeanConstructorMatcher();
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanEquals() {
//   return new HasValidBeanEqualsExcludingMatcher(TYPE_BASED_VALUE_GENERATOR);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanEqualsExcluding(String... properties) {
//   return new HasValidBeanEqualsExcludingMatcher(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanEqualsFor(String... properties) {
//   return new HasValidBeanEqualsForMatcher(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanHashCode() {
//   return new HasValidBeanHashCodeExcludingMatcher(TYPE_BASED_VALUE_GENERATOR);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanHashCodeExcluding(String... properties) {
//   return new HasValidBeanHashCodeExcludingMatcher(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanHashCodeFor(String... properties) {
//   return new HasValidBeanHashCodeForMatcher(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanToString() {
//   return new HasToStringDescribingPropertiesExcludingMatcher(TYPE_BASED_VALUE_GENERATOR);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanToStringExcluding(String... properties) {
//   return new HasToStringDescribingPropertiesExcludingMatcher(
//       TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanToStringFor(String... properties) {
//   return new HasToStringDescribingPropertiesMatcher(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidGettersAndSetters() {
//   return hasValidGettersAndSettersExcluding();
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidGettersAndSettersExcluding(String... properties) {
//   return new InstantiatingMatcherDecorator(
//       isABeanWithValidGettersAndSettersExcluding(properties));
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidGettersAndSettersFor(String... properties) {
//   return new InstantiatingMatcherDecorator(isABeanWithValidGettersAndSettersFor(properties));
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static <T> Matcher<T> isABeanWithValidGettersAndSetters() {
//   return isABeanWithValidGettersAndSettersExcluding();
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static <T> Matcher<T> isABeanWithValidGettersAndSettersExcluding(String... properties) {
//   return new HasValidGettersAndSettersExcludingMatcher<T>(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static <T> Matcher<T> isABeanWithValidGettersAndSettersFor(String... properties) {
//   return new HasValidGettersAndSettersMatcher<T>(TYPE_BASED_VALUE_GENERATOR, properties);
// }


import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanConstructor;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEquals;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEqualsExcluding;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEqualsFor;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanHashCode;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanHashCodeExcluding;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanHashCodeFor;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanToString;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanToStringExcluding;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanToStringFor;
import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters;
import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSettersExcluding;
import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSettersFor;
import static com.google.code.beanmatchers.BeanMatchers.isABeanWithValidGettersAndSetters;
import static com.google.code.beanmatchers.BeanMatchers.isABeanWithValidGettersAndSettersExcluding;
import static com.google.code.beanmatchers.BeanMatchers.isABeanWithValidGettersAndSettersFor;
import static org.hamcrest.MatcherAssert.assertThat;
import com.google.code.beanmatchers.data.*;
import org.testng.annotations.Test;
package com.google.code.beanmatchers;



public class BeanMatchersTest {

  @Test
  public void testHasValidBeanConstructor() {
    assertThat(TestBeanWithOneProperty.class, hasValidBeanConstructor());
  }

  @Test
  public void testBeanHasValidGettersAndSettersFor() {
    assertThat(new TestBeanWithOneProperty(), isABeanWithValidGettersAndSettersFor("field1"));
  }

// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanConstructor() {
//   return new HasValidBeanConstructorMatcher();
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanEquals() {
//   return new HasValidBeanEqualsExcludingMatcher(TYPE_BASED_VALUE_GENERATOR);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanEqualsExcluding(String... properties) {
//   return new HasValidBeanEqualsExcludingMatcher(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanEqualsFor(String... properties) {
//   return new HasValidBeanEqualsForMatcher(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanHashCode() {
//   return new HasValidBeanHashCodeExcludingMatcher(TYPE_BASED_VALUE_GENERATOR);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanHashCodeExcluding(String... properties) {
//   return new HasValidBeanHashCodeExcludingMatcher(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanHashCodeFor(String... properties) {
//   return new HasValidBeanHashCodeForMatcher(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanToString() {
//   return new HasToStringDescribingPropertiesExcludingMatcher(TYPE_BASED_VALUE_GENERATOR);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanToStringExcluding(String... properties) {
//   return new HasToStringDescribingPropertiesExcludingMatcher(
//       TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidBeanToStringFor(String... properties) {
//   return new HasToStringDescribingPropertiesMatcher(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidGettersAndSetters() {
//   return hasValidGettersAndSettersExcluding();
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidGettersAndSettersExcluding(String... properties) {
//   return new InstantiatingMatcherDecorator(
//       isABeanWithValidGettersAndSettersExcluding(properties));
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static Matcher<Class> hasValidGettersAndSettersFor(String... properties) {
//   return new InstantiatingMatcherDecorator(isABeanWithValidGettersAndSettersFor(properties));
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static <T> Matcher<T> isABeanWithValidGettersAndSetters() {
//   return isABeanWithValidGettersAndSettersExcluding();
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static <T> Matcher<T> isABeanWithValidGettersAndSettersExcluding(String... properties) {
//   return new HasValidGettersAndSettersExcludingMatcher<T>(TYPE_BASED_VALUE_GENERATOR, properties);
// }
// 
// Path: src/main/java/com/google/code/beanmatchers/BeanMatchers.java
// public static <T> Matcher<T> isABeanWithValidGettersAndSettersFor(String... properties) {
//   return new HasValidGettersAndSettersMatcher<T>(TYPE_BASED_VALUE_GENERATOR, properties);
// }


// Path: src/test/java/com/google/code/beanmatchers/BeanMatchersTest.java
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanConstructor;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEquals;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEqualsExcluding;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEqualsFor;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanHashCode;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanHashCodeExcluding;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanHashCodeFor;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanToString;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanToStringExcluding;
import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanToStringFor;
import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters;
import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSettersExcluding;
import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSettersFor;
import static com.google.code.beanmatchers.BeanMatchers.isABeanWithValidGettersAndSetters;
import static com.google.code.beanmatchers.BeanMatchers.isABeanWithValidGettersAndSettersExcluding;
import static com.google.code.beanmatchers.BeanMatchers.isABeanWithValidGettersAndSettersFor;
import static org.hamcrest.MatcherAssert.assertThat;
import com.google.code.beanmatchers.data.*;
import org.testng.annotations.Test;

package com.google.code.beanmatchers;



public class BeanMatchersTest {

  @Test
  public void testHasValidBeanConstructor() {
    assertThat(TestBeanWithOneProperty.class, hasValidBeanConstructor());
  }

  @Test
  public void testBeanHasValidGettersAndSettersFor() {
    assertThat(new TestBeanWithOneProperty(), isABeanWithValidGettersAndSettersFor("field1"));
  }

  @Test