import org.junit.Test

class DeclaredFieldsTest
{

    static {
        Class.metaClass.getNonSyntheticFields = { ->
            delegate.declaredFields.grep { !it.synthetic }
        }
    }

    class Data {
        public String name
        public int count
        static def field(name) { Data.class.getField(name) }
    }

    @Test void getDeclaredFields() {
       def expectedFields = [Data.field('name'), Data.field('count')]
       assert expectedFields == Data.class.nonSyntheticFields
    }

}