@@ -0,0 +1,822 @@
+package io.github.yurloc.autostring;%0A%0Aimport static org.assertj.core.api.Assertions.assertThat;%0A%0Aimport org.junit.Test;%0A%0Apublic class FieldOrderingTest %7B%0A%0A    /**%0A     * Reflection API does not define the order but it appears that order in which fields are declared is kept. Let's%0A     * have a test to confirm that.%0A     */%0A    @Test%0A    public void shouldKeepOrderOfDeclaration() %7B%0A        assertThat(new Dummy().toString()).isEqualTo(%22Dummy%5Bzzz=zzz,a=1,b=-1%5D%22);%0A    %7D%0A%0A    private static class Dummy %7B%0A%0A        @AutoString%0A        private String zzz = %22zzz%22;%0A%0A        @AutoString%0A        private final int a, b;%0A%0A        public Dummy() %7B%0A            this.a = 1;%0A            this.b = -1;%0A        %7D%0A%0A        @Override%0A        public String toString() %7B%0A            return AutoStringBuilder.build(this);%0A        %7D%0A    %7D%0A%7D%0A

Test that field declaration order is kept