Assertion error is also generated using what you propose Claus : java.lang.AssertionError: mock://result body == [{org.apache.camel.dataformat.bindy.model.fix.simple.header=org.apache.camel.dataformat.bindy.model.fix.simple.hea...@35bb0f[ beginString=FIX 4.1 bodyLength=20 msgSeqNum=1 msgType=0 sendCompId=INVMGR targetCompId=BRKR ], org.apache.camel.dataformat.bindy.model.fix.simple.order=org.apache.camel.dataformat.bindy.model.fix.simple.or...@11eb199[ header=org.apache.camel.dataformat.bindy.model.fix.simple.hea...@35bb0f[ beginString=FIX 4.1 bodyLength=20 msgSeqNum=1 msgType=0 sendCompId=INVMGR targetCompId=BRKR ] trailer=org.apache.camel.dataformat.bindy.model.fix.simple.trai...@8ae45a[ checkSum=220 ] account=BE.CHM.001 clOrdId=CHM0001-01 iDSource=4 securityId=BE0001245678 side=1 text=this is a camel - bindy test ], org.apache.camel.dataformat.bindy.model.fix.simple.trailer=org.apache.camel.dataformat.bindy.model.fix.simple.trai...@8ae45a[ checkSum=220 ]}] on Exchange[GenericFileMessage with body: [{org.apache.camel.dataformat.bindy.model.fix.simple.header=org.apache.camel.dataformat.bindy.model.fix.simple.hea...@366573[ beginString=FIX.4.1 bodyLength=20 msgSeqNum=1 msgType=0 sendCompId=INVMGR targetCompId=BRKR ], org.apache.camel.dataformat.bindy.model.fix.simple.order=org.apache.camel.dataformat.bindy.model.fix.simple.or...@13e75a5[ header=org.apache.camel.dataformat.bindy.model.fix.simple.hea...@366573[ beginString=FIX.4.1 bodyLength=20 msgSeqNum=1 msgType=0 sendCompId=INVMGR targetCompId=BRKR ] trailer=org.apache.camel.dataformat.bindy.model.fix.simple.trai...@19da967[ checkSum=220 ] account=BE.CHM.001 clOrdId=CHM0001-01 iDSource=4 securityId=BE0001245678 side=1 text=this is a camel - bindy test ], org.apache.camel.dataformat.bindy.model.fix.simple.trailer=org.apache.camel.dataformat.bindy.model.fix.simple.trai...@19da967[ checkSum=220 ]}]]
Charles Moulliard Senior Enterprise Architect Apache Camel Committer ***************************** blog : http://cmoulliard.blogspot.com twitter : http://twitter.com/cmoulliard On Wed, Oct 21, 2009 at 10:48 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: > On Wed, Oct 21, 2009 at 10:41 AM, Charles Moulliard > <cmoulli...@gmail.com> wrote: >> How do you do the comparison ? >> >> If I extend my model class with the AbstractParent and that I use the >> following method : >> >> result.expectedBodiesReceived( generateModel().toString() ); > > This one does a simple assertEquals from junit. > Maybe we should extend it to use Camels type coverter system as well. > > > You can do this in Camel instead > result.message(0).body().isEqualTo(generateModel().toString()); > > >> >> to compare what I receive from camel-bindy unmarshalling with a model >> generated from scratch, the test fail >> >> java.lang.AssertionError: mock://result Body of message: 0. Expected: >> <[{org.apache.camel.dataformat.bindy.model.fix.sorted.body.order=org.apache.camel.dataformat.bindy.model.fix.sorted.body.or...@e45b5e[ >> header=org.apache.camel.dataformat.bindy.model.fix.sorted.header.hea...@7f58ef[ >> beginString=FIX 4.1 >> bodyLength=20 >> msgSeqNum=1 >> msgType=0 >> sendCompId=INVMGR >> targetCompId=BRKR >> ] >> trailer=org.apache.camel.dataformat.bindy.model.fix.sorted.trailer.trai...@e1dac2[ >> checkSum=220 >> ] >> account=BE.CHM.001 >> clOrdId=CHM0001-01 >> iDSource=4 >> securityId=BE0001245678 >> side=1 >> text=this is a camel - bindy test >> ], >> org.apache.camel.dataformat.bindy.model.fix.sorted.header.header=org.apache.camel.dataformat.bindy.model.fix.sorted.header.hea...@7f58ef[ >> beginString=FIX 4.1 >> bodyLength=20 >> msgSeqNum=1 >> msgType=0 >> sendCompId=INVMGR >> targetCompId=BRKR >> ], >> org.apache.camel.dataformat.bindy.model.fix.sorted.trailer.trailer=org.apache.camel.dataformat.bindy.model.fix.sorted.trailer.trai...@e1dac2[ >> checkSum=220 >> ]}]> but was: >> <[{org.apache.camel.dataformat.bindy.model.fix.sorted.body.order=org.apache.camel.dataformat.bindy.model.fix.sorted.body.or...@19f03d7[ >> header=org.apache.camel.dataformat.bindy.model.fix.sorted.header.hea...@4bf53e[ >> beginString=FIX.4.1 >> bodyLength=20 >> msgSeqNum=1 >> msgType=0 >> sendCompId=INVMGR >> targetCompId=BRKR >> ] >> trailer=org.apache.camel.dataformat.bindy.model.fix.sorted.trailer.trai...@d1e7c2[ >> checkSum=220 >> ] >> account=BE.CHM.001 >> clOrdId=CHM0001-01 >> iDSource=4 >> securityId=BE0001245678 >> side=1 >> text=this is a camel - bindy test >> ], >> org.apache.camel.dataformat.bindy.model.fix.sorted.header.header=org.apache.camel.dataformat.bindy.model.fix.sorted.header.hea...@4bf53e[ >> beginString=FIX.4.1 >> bodyLength=20 >> msgSeqNum=1 >> msgType=0 >> sendCompId=INVMGR >> targetCompId=BRKR >> ], >> org.apache.camel.dataformat.bindy.model.fix.sorted.trailer.trailer=org.apache.camel.dataformat.bindy.model.fix.sorted.trailer.trai...@d1e7c2[ >> checkSum=220 >> ]}]> >> >> Regards, >> >> Charles Moulliard >> Senior Enterprise Architect >> Apache Camel Committer >> >> ***************************** >> blog : http://cmoulliard.blogspot.com >> twitter : http://twitter.com/cmoulliard >> >> >> >> On Wed, Oct 21, 2009 at 9:16 AM, Dmitry Ulanov <dula...@gmail.com> wrote: >>> In Java Objects are comared via equals() method, not toString(). I usually >>> use Jakarta Lang libarary to automate it. For example: >>> >>> import java.io.Serializable; >>> >>> import org.apache.commons.lang.builder.EqualsBuilder; >>> import org.apache.commons.lang.builder.HashCodeBuilder; >>> import org.apache.commons.lang.builder.ToStringBuilder; >>> import org.apache.commons.lang.builder.ToStringStyle; >>> >>> public abstract class AbstractParent<T extends AbstractParent> implements >>> Serializable { >>> >>> private static final long serialVersionUID = 1L; >>> >>> �...@override public boolean equals(Object obj) { >>> return EqualsBuilder.reflectionEquals(this, obj); >>> } >>> >>> �...@override public int hashCode() { >>> return HashCodeBuilder.reflectionHashCode(this); >>> } >>> >>> �...@override public String toString() { >>> return ToStringBuilder.reflectionToString(this, >>> ToStringStyle.MULTI_LINE_STYLE); >>> } >>> } >>> >>> On Wed, Oct 21, 2009 at 11:12 AM, Charles Moulliard >>> <cmoulli...@gmail.com>wrote: >>> >>>> I have customized the toString method of each Class. What is strange >>>> is that in another the test generating the same objects, it works. >>>> >>>> I will adapt the test to compare object differently. >>>> >>>> Charles Moulliard >>>> Senior Enterprise Architect >>>> Apache Camel Committer >>>> >>>> ***************************** >>>> blog : http://cmoulliard.blogspot.com >>>> twitter : http://twitter.com/cmoulliard >>>> >>>> >>>> >>>> On Tue, Oct 20, 2009 at 7:48 PM, Claus Ibsen <claus.ib...@gmail.com> >>>> wrote: >>>> > Hi >>>> > >>>> > If you are comparing objects it will use equals and it may not be able >>>> > to detect that they are identical. >>>> > >>>> > If they have a nice toString you can convert them to String and do a >>>> > string equals. >>>> > >>>> > At least their to string output in this mail looks as if they are >>>> identical. >>>> > >>>> > On Tue, Oct 20, 2009 at 4:48 PM, Charles Moulliard <cmoulli...@gmail.com> >>>> wrote: >>>> >> Unit test return the following error : >>>> >> >>>> >> java.lang.AssertionError: mock://result Body of message: 0. >>>> >> >>>> >> Expected: >>>> >> >>>> >> <[{org.apache.camel.dataformat.bindy.model.fix.simple.Header=Model : >>>> >> org.apache.camel.dataformat.bindy.model.fix.simple.Header, FIX 4.1, >>>> >> 20, 10, INVMGR, BRKR, >>>> >> org.apache.camel.dataformat.bindy.model.fix.simple.Order=Model : >>>> >> org.apache.camel.dataformat.bindy.model.fix.simple.Order, BE.CHM.001, >>>> >> CHM0001-01, 4, BE0001245678, 1, this is a camel - bindy test, >>>> >> org.apache.camel.dataformat.bindy.model.fix.simple.Trailer=Model : >>>> >> org.apache.camel.dataformat.bindy.model.fix.simple.Trailer, 220}]> >>>> >> >>>> >> but was: >>>> >> >>>> >> <[{org.apache.camel.dataformat.bindy.model.fix.simple.Header=Model : >>>> >> org.apache.camel.dataformat.bindy.model.fix.simple.Header, FIX.4.1, >>>> >> 20, 10, INVMGR, BRKR, >>>> >> org.apache.camel.dataformat.bindy.model.fix.simple.Order=Model : >>>> >> org.apache.camel.dataformat.bindy.model.fix.simple.Order, BE.CHM.001, >>>> >> CHM0001-01, 4, BE0001245678, 1, this is a camel - bindy test, >>>> >> org.apache.camel.dataformat.bindy.model.fix.simple.Trailer=Model : >>>> >> org.apache.camel.dataformat.bindy.model.fix.simple.Trailer, 220}]> >>>> >> >>>> >> I don't understand why test fail because comparison of both is the same >>>> !!! >>>> >> >>>> >> Here is the method used to compare what I receive : >>>> >> result.expectedBodiesReceived() >>>> >> >>>> >> result = result endpoint >>>> >> >>>> >> Regards, >>>> >> >>>> >> Charles Moulliard >>>> >> Senior Enterprise Architect >>>> >> Apache Camel Committer >>>> >> >>>> >> ***************************** >>>> >> blog : http://cmoulliard.blogspot.com >>>> >> twitter : http://twitter.com/cmoulliard >>>> >> >>>> > >>>> > >>>> > >>>> > -- >>>> > Claus Ibsen >>>> > Apache Camel Committer >>>> > >>>> > Open Source Integration: http://fusesource.com >>>> > Blog: http://davsclaus.blogspot.com/ >>>> > Twitter: http://twitter.com/davsclaus >>>> > >>>> >>> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus >