And also please make use of the Camel user-forum @:
http://camel.465427.n5.nabble.com/Camel-Users-f465428.html
As this forum is used internally ONLY for the Apache Camel committers.
Babak
vetalik wrote
>
> Hello!
> If i have a MockEndpoint which gets an POJO object in Message Body it try
> to compare it with expected result using:
> camel/util/ObjectHelper.java
> ObjectHelper.equal(method)
>
> Which contains following lines:
> /**
> * A helper method for comparing objects for equality while handling
> nulls
> */
> public static boolean equal(Object a, Object b) {
> if (a == b) {
> return true;
> }
>
> if (a instanceof byte[] && b instanceof byte[]) {
> return equalByteArray((byte[])a, (byte[])b);
> }
>
> return a != null && b != null && a.equals(b);
> }
>
> This is sort of very strange method to compare Objects. It will work for
> Strings and primitives, but won't work for POJO, because it compare with
> "==" operator, and do not compare with .equals(obj1) method.
> So i put
> resultEndpoint.expectedBodiesReceived(expectedMT);
> where expectedMT is instance of MT class
> and then tested method will send to mocked Endpoint new instance of MT,
> with the same data.
> But
> resultEndpoint.assertIsSatisfied();
> will give error, because are not the same. like:
> Expected: <com.somepackage.MT@2674f9fb> but was:
> <com.somepackage.MT@53ddcd5f>
>
> If assertIsSatisfied would work correctly and would use equals instead of
> "==" then there would be correct assertion.
>
> Is it a bug, or i missuse MockEndpoint somehow?
>
--
View this message in context:
http://camel.465427.n5.nabble.com/MockEndpoint-assertIsSatisfied-Object-Object-tp5716388p5716401.html
Sent from the Camel Development mailing list archive at Nabble.com.