<?xml version="1.0" encoding="UTF-8"?>
<test-data>
    <test-code>
        <description><![CDATA[
ok
     ]]></description>
        <expected-problems>0</expected-problems>
        <code><![CDATA[
public class Foo {
 public Foo() {}
}
     ]]></code>
    </test-code>
    <test-code>
        <description><![CDATA[
simple failure case
     ]]></description>
        <expected-problems>1</expected-problems>
        <code><![CDATA[
public class Foo {}
     ]]></code>
    </test-code>
    <test-code>
        <description><![CDATA[
inner bad, outer ok
     ]]></description>
        <expected-problems>1</expected-problems>
        <code><![CDATA[
public class Foo {
 public class Bar {}
 public Foo() {}
}
     ]]></code>
    </test-code>
    <test-code>
        <description><![CDATA[
inner ok, outer bad
     ]]></description>
        <expected-problems>1</expected-problems>
        <code><![CDATA[
public class Foo {
 public class Bar { 
  public Bar() {}
 }
}
     ]]></code>
    </test-code>
    <test-code>
        <description><![CDATA[
inner and outer both bad
     ]]></description>
        <expected-problems>2</expected-problems>
        <code><![CDATA[
public class Foo {
 public class Bar {} 
}
     ]]></code>
    </test-code>
    <test-code>
        <description><![CDATA[
inner and outer both ok
     ]]></description>
        <expected-problems>0</expected-problems>
        <code><![CDATA[
public class Foo {
 public class Bar { 
  public Bar() {}
 }
 public Foo() {}
}
     ]]></code>
    </test-code>
    <test-code>
        <description><![CDATA[
skip interfaces
     ]]></description>
        <expected-problems>0</expected-problems>
        <code><![CDATA[
public interface Foo {
}
     ]]></code>
    </test-code>
    <test-code>
        <description><![CDATA[
skip static classes
     ]]></description>
        <expected-problems>0</expected-problems>
        <code><![CDATA[
public static class Foo {
}
     ]]></code>
    </test-code>
    <test-code>
        <description><![CDATA[
skip classes with only static methods
     ]]></description>
        <expected-problems>0</expected-problems>
        <code><![CDATA[
public static class Foo {
	public static void method() {}
	public static void otherMethods() {}
}
     ]]></code>
    </test-code>
    <test-code>
        <description>Don't skip classes with non-static methods; #1216 AtLeastOneConstructor ignores classes with *any* methods</description>
        <expected-problems>1</expected-problems>
        <code><![CDATA[
public class TestAtLeastOneConstructor {
    public void NotStatic() {
        System.out.println("This class should have a constructor");
    }
}
        ]]></code>
    </test-code>
</test-data>
