Here are three simple patches that change the contract of the CustomerBean, PersonBean and AddressBean test classes in betwixt, so that these beans can be compared in a sensible manner.
The patches change the toString() method and add equals() and hashCode() methods so that any two CustomerBean, PersonBean or AddressBean instances with the same data, are equivalent to each other.
I haven't touched LoopBean as changing it in this way would break the cyclic loop test as it is currently implemented.
--
Michael
begin 644 compare.tar M061D<F5S<T)E86XN:F%V82QP871C:#$N,0 M M # Q,# V-#0 ,#(T-C8U,P P,# P,#$W # P,# P,# R-C,S M # W-38V,# R,3(W # P,38U,S4 , M M !U<W1A<@ P,&UI8VAA M960 =&5C:&EE<P M P,# P,C$P # P,# P,# M M M M !);F1E>#H@:F%K87)T82UC;VUM;VYS+V)E='=I M>'0N:&5A9"]S<F,O=&5S="]O<F<O87!A8VAE+V-O;6UO;G,O8F5T=VEX="]! M9&1R97-S0F5A;BYJ879A"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T] M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*4D-3(&9I M;&4Z("]H;VUE+V-V<W!U8FQI8R]J86MA<G1A+6-O;6UO;G,O8F5T=VEX="]S M<F,O=&5S="]O<F<O87!A8VAE+V-O;6UO;G,O8F5T=VEX="]!9&1R97-S0F5A M;BYJ879A+'8*<F5T<FEE=FEN9R!R979I<VEO;B Q+C$*9&EF9B M=2 M<C$N M,2!!9&1R97-S0F5A;BYJ879A"BTM+2!J86MA<G1A+6-O;6UO;G,O8F5T=VEX M="YH96%D+W-R8R]T97-T+V]R9R]A<&%C:&4O8V]M;6]N<R]B971W:7AT+T%D M9')E<W-"96%N+FIA=F$),3 @2G5N(#(P,#(@,3<Z-3,Z,S(@+3 P,# ),2XQ M"BLK*R!J86MA<G1A+6-O;6UO;G,O8F5T=VEX="YH96%D+W-R8R]T97-T+V]R M9R]A<&%C:&4O8V]M;6]N<R]B971W:7AT+T%D9')E<W-"96%N+FIA=F$),3<@ M3F]V(#(P,#(@,C$Z,#,Z,3$@+3 P,# *0$ @+38V+#8@*S8V+#<@0$ *("\J M*B \<#X\8V]D93Y#=7-T;VUE<D)E86X\+V-O9&4^(&ES(&$@<V%M<&QE(&)E M86X@9F]R('5S92!B>2!T:&4@=&5S="!C87-E<RX\+W ^"B @("H*(" @*B! M875T:&]R(#QA(&AR968](FUA:6QT;SIJ<W1R86-H86Y 87!A8VAE+F]R9R(^ M2F%M97,@4W1R86-H86X\+V$^"BL@("H@0&%U=&AO<B \82!H<F5F/2)M86EL M=&\Z;6EC:&%E;"YD879E>4!C;V1E<F%G92YO<F<B/DUI8VAA96P@1&%V97D\ M+V$^"B @("H@0'9E<G-I;VX@)%)E=FES:6]N.B Q+C0@) H@(" J+PH@<'5B M;&EC(&-L87-S($%D9')E<W-"96%N(&EM<&QE;65N=',@4V5R:6%L:7IA8FQE M('L*0$ @+3$Q,2PV("LQ,3(L,38@0$ *(" @("!]"B @(" @"B @(" @<'5B M;&EC(%-T<FEN9R!T;U-T<FEN9R@I('L*+2 @(" @(" @<F5T=7)N('-U<&5R M+G1O4W1R:6YG*"D@*R B6W-T<F5E=#TB("L@<W1R965T("L@(BP@8VET>3TB M("L@8VET>2L@(BQC;W5N=')Y/2(@*R!C;W5N=')Y("L@(ETB.PHK(" @(" @ M("!R971U<FX@(ELB("L@=&AI<RYG971#;&%S<R@I+F=E=$YA;64H*2 K("(Z M('-T<F5E=#TB("L@<W1R965T("L@(BP@8VET>3TB"BL@(" @(" @(" @(" @ M(" @*R!C:71Y*R B+"!C;W5N=')Y/2(@*R!C;W5N=')Y("L@(ETB.PHK(" @ M('T**R @(" **R @("!P=6)L:6,@8F]O;&5A;B!E<75A;',H($]B:F5C="!O M8FH@*2!["BL@(" @(" @(&EF("@@;V)J(#T](&YU;&P@*2!R971U<FX@9F%L M<V4["BL@(" @(" @(')E='5R;B!T:&ES+FAA<VA#;V1E*"D@/3T@;V)J+FAA M<VA#;V1E*"D["BL@(" @?0HK(" @( HK(" @('!U8FQI8R!I;G0@:&%S:$-O M9&4H*2!["BL@(" @(" @(')E='5R;B!T;U-T<FEN9R@I+FAA<VA#;V1E*"D[ M"B @(" @?0H@?0H* M M !#=7-T;VUE<D)E86XN:F%V82QP871C M:#$N-0 M ,#$P,#8T- P,C0V M-C4S # P,# P,3< ,# P,# P,#(V-3$ ,#<U-C8P,#(S-C ,# Q-C<U- P M M M '5S=&%R # P;6EC:&%E9 M !T96-H:65S # P,# R,3 M,# P,# P, M M M $EN9&5X M.B!J86MA<G1A+6-O;6UO;G,O8F5T=VEX="YH96%D+W-R8R]T97-T+V]R9R]A M<&%C:&4O8V]M;6]N<R]B971W:7AT+T-U<W1O;65R0F5A;BYJ879A"CT]/3T] M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T] M/3T]/3T]/3T]/3T]/3T]/3T*4D-3(&9I;&4Z("]H;VUE+V-V<W!U8FQI8R]J M86MA<G1A+6-O;6UO;G,O8F5T=VEX="]S<F,O=&5S="]O<F<O87!A8VAE+V-O M;6UO;G,O8F5T=VEX="]#=7-T;VUE<D)E86XN:F%V82QV"G)E=')I979I;F<@ M<F5V:7-I;VX@,2XU"F1I9F8@+74@+7(Q+C4@0W5S=&]M97)"96%N+FIA=F$* M+2TM(&IA:V%R=&$M8V]M;6]N<R]B971W:7AT+FAE860O<W)C+W1E<W0O;W)G M+V%P86-H92]C;VUM;VYS+V)E='=I>'0O0W5S=&]M97)"96%N+FIA=F$)-R!. M;W8@,C P,B Q-CHQ-3HP." M,# P, DQ+C4**RLK(&IA:V%R=&$M8V]M;6]N M<R]B971W:7AT+FAE860O<W)C+W1E<W0O;W)G+V%P86-H92]C;VUM;VYS+V)E M='=I>'0O0W5S=&]M97)"96%N+FIA=F$),3<@3F]V(#(P,#(@,C$Z,#4Z-3D@ M+3 P,# *0$ @+3@R+#8@*S@R+#<@0$ *("\J*B \<#X\8V]D93Y#=7-T;VUE M<D)E86X\+V-O9&4^(&ES(&$@<V%M<&QE(&)E86X@9F]R('5S92!B>2!T:&4@ M=&5S="!C87-E<RX\+W ^"B @("H*(" @*B! 875T:&]R(#QA(&AR968](FUA M:6QT;SIJ<W1R86-H86Y 87!A8VAE+F]R9R(^2F%M97,@4W1R86-H86X\+V$^ M"BL@("H@0&%U=&AO<B \82!H<F5F/2)M86EL=&\Z;6EC:&%E;"YD879E>4!C M;V1E<F%G92YO<F<B/DUI8VAA96P@1&%V97D\+V$^"B @("H@0'9E<G-I;VX@ M)%)E=FES:6]N.B Q+C$P("0*(" @*B\*('!U8FQI8R!C;&%S<R!#=7-T;VUE M<D)E86X@:6UP;&5M96YT<R!397)I86QI>F%B;&4@>PI 0" M,C(W+#<@*S(R M."PQ-R! 0 H@(" @('T*( H@(" @('!U8FQI8R!3=')I;F<@=&]3=')I;F<H M*2!["BT@(" @(" @(')E='5R;B!S=7!E<BYT;U-T<FEN9R@I("L@(EM)1#TB M("L@:60@*R B+"!N86UE/2(@*R!N86UE("L@(BQA9&1R97-S/2(@*R!A9&1R M97-S("L@(ETB.PHK(" @(" @("!R971U<FX@(ELB("L@=&AI<RYG971#;&%S M<R@I+F=E=$YA;64H*2 K("(Z($E$/2(@*R!I9" K("(L(&YA;64](B K(&YA M;64**R @(" @(" @(" @(" @(" K("(L(&%D9')E<W,](B K(&%D9')E<W,@ M*R B72(["BL@(" @?0HK(" @( HK(" @('!U8FQI8R!B;V]L96%N(&5Q=6%L M<R@@3V)J96-T(&]B:B I('L**R @(" @(" @:68@*"!O8FH@/3T@;G5L;" I M(')E='5R;B!F86QS93L**R @(" @(" @<F5T=7)N('1H:7,N:&%S:$-O9&4H M*2 ]/2!O8FHN:&%S:$-O9&4H*3L**R @("!]"BL@(" @"BL@(" @<'5B;&EC M(&EN="!H87-H0V]D92@I('L**R @(" @(" @<F5T=7)N('1O4W1R:6YG*"DN M:&%S:$-O9&4H*3L*(" @("!]"B )+RHJ"B )("H@4F5T=7)N<R!T:&4@9&%T M92X*"@ M M %!E<G-O;D)E86XN:F%V82QP871C:#$N,0 M M P,3 P-C0T # R-#8V-3, ,# P,# Q-P P,# P,# P,C0T M-P P-S4V-C P-#(V-@ P,#$V-#(W # M M =7-T87( ,#!M:6-H M865D '1E8VAI97, M ,# P,#(Q, P,# P,# P M M M M 26YD97@Z(&IA:V%R=&$M8V]M;6]N<R]B971W M:7AT+FAE860O<W)C+W1E<W0O;W)G+V%P86-H92]C;VUM;VYS+V)E='=I>'0O M4&5R<V]N0F5A;BYJ879A"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T] M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*4D-3(&9I M;&4Z("]H;VUE+V-V<W!U8FQI8R]J86MA<G1A+6-O;6UO;G,O8F5T=VEX="]S M<F,O=&5S="]O<F<O87!A8VAE+V-O;6UO;G,O8F5T=VEX="]097)S;VY"96%N M+FIA=F$L=@IR971R:65V:6YG(')E=FES:6]N(#$N,0ID:69F("UU("UR,2XQ M(%!E<G-O;D)E86XN:F%V80HM+2T@:F%K87)T82UC;VUM;VYS+V)E='=I>'0N M:&5A9"]S<F,O=&5S="]O<F<O87!A8VAE+V-O;6UO;G,O8F5T=VEX="]097)S M;VY"96%N+FIA=F$),3 @2G5N(#(P,#(@,3<Z-3,Z,S(@+3 P,# ),2XQ"BLK M*R!J86MA<G1A+6-O;6UO;G,O8F5T=VEX="YH96%D+W-R8R]T97-T+V]R9R]A M<&%C:&4O8V]M;6]N<R]B971W:7AT+U!E<G-O;D)E86XN:F%V80DQ-R!.;W8@ M,C P,B R,3HR,3HU-2 M,# P, I 0" M-C0L-B K-C0L-R! 0 H@+RHJ(#QP M/CQC;V1E/E!E<G-O;D)E86X\+V-O9&4^(&ES(&$@<V%M<&QE(&)E86X@9F]R M('5S92!W:71H('1H92!T97-T(&-A<V5S+CPO<#X*(" @*@H@(" J($!A=71H M;W(@/&$@:')E9CTB;6%I;'1O.G)D;VYK:6Y 87!A8VAE+F]R9R(^4F]B97)T M($)U<G)E;&P@1&]N:VEN/"]A/@HK(" J($!A=71H;W(@/&$@:')E9CTB;6%I M;'1O.DUI8VAA96PN1&%V97E 8V]D97)A9V4N;W)G(CY-:6-H865L($1A=F5Y M/"]A/@H@(" J($!V97)S:6]N("12979I<VEO;CH@,2XR("0*(" @*B\*('!U M8FQI8R!C;&%S<R!097)S;VY"96%N('L*0$ @+3DW+#8@*SDX+#$U($! "B @ M(" @?0H@(" @( H@(" @('!U8FQI8R!3=')I;F<@=&]3=')I;F<H*2![(" * M+2 @(" @(" @<F5T=7)N(");4&5R<V]N0F5A;ET@86=E/2(@*R!A9V4@*R B M(&YA;64](B K(&YA;64["BL@(" @(" @(')E='5R;B B6R(@*R!T:&ES+F=E M=$-L87-S*"DN9V5T3F%M92@I("L@(CH@86=E/2(@*R!A9V4@*R B(&YA;64] M(B K(&YA;64@*R B72(["BL@(" @?0HK(" @( HK(" @('!U8FQI8R!B;V]L M96%N(&5Q=6%L<R@@3V)J96-T(&]B:B I('L**R @(" @(" @:68@*"!O8FH@ M/3T@;G5L;" I(')E='5R;B!F86QS93L**R @(" @(" @<F5T=7)N('1H:7,N M:&%S:$-O9&4H*2 ]/2!O8FHN:&%S:$-O9&4H*3L**R @("!]"BL@(" @"BL@ M(" @<'5B;&EC(&EN="!H87-H0V]D92@I('L**R @(" @(" @<F5T=7)N('1O M4W1R:6YG*"DN:&%S:$-O9&4H*3L*(" @("!]"B!]"@H M M M M M M M M M M M M M M M M M M M M M M M M M M M - end
smime.p7s
Description: S/MIME Cryptographic Signature