On Wed, Oct 21, 2009 at 10:41 AM, Charles Moulliard
<[email protected]> 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 <[email protected]> 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
>> <[email protected]>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 <[email protected]>
>>> 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 <[email protected]>
>>> 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