Hi Gordon -- thx for the response -- my reason for wanting this is unit
testing only...works fast enough for what I need.  I don't do this in any
production code.

Best regards,
Davis

On Wed, Jan 6, 2010 at 10:33 PM, Gordon Smith <gosm...@adobe.com> wrote:

>
>
>  This is likely to be rather slow, but if you really need to do a
> recursive comparison of XML objects, it's probably reasonable. I don't know
> of any built-in operator or method that does deep equality.
>
>
>
> Gordon Smith
>
> Adobe Flex SDK Team
>
>
>
> *From:* flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] *On
> Behalf Of *Davis Ford
> *Sent:* Wednesday, January 06, 2010 5:22 PM
> *To:* flexcoders@yahoogroups.com
> *Subject:* Re: [flexcoders] Testing for XML equality
>
>
>
>
>
> I found a solution:
>
>
>
> import mx.utils.ObjectUtil;
>
>
>
> Assert.assertTrue(ObjectUtil.compare(xml1, xml2) == 0);
>
>
>
> That does the trick.
>
>
>
> Regards,
> Davis
>
> On Wed, Jan 6, 2010 at 8:20 PM, Paul Andrews <p...@ipauland.com> wrote:
>
> Davis Ford wrote:
> >
> >
> > Hi Paul,
> >
> > I don't believe this is correct for ActionScript3.  Strict equality is
> > the "===" operator which compares object instances.  "==" should test
> > for equality.
>
> I tried (in Flash)..
>
> var objA:Object = {a:1};
> var objB:Object = {a:1};
> trace(objA==objB);  // false
> var xmlA:XML = <x>xxx</x>;
> var xmlB:XML = <x>xxx</x>;
> trace(xmlA==xmlB);  // true
> trace(xmlA===xmlB);  // false
>
> and indeed you are right. I didn't know that XML was treated differently
> from vanilla object in comparisons.
>
> Thanks.
>
> Paul
>
> >
> > If you change the test to this...
> >
> > [Test]
> >         public function testXmlEquality():void {
> >          var xml1:XML =
> >          <a>
> >          <b></b>
> >          <c></c>
> >          </a>;
> >          var xml2:XML =
> >          <a>
> >          <b></b>
> >          <c></c>
> >          </a>;
> >          xml1.normalize();
> >          xml2.normalize();
> >          Assert.assertTrue(xml1 == xml2);
> >         }
> >
> > it passes.  XML/e4x is supposed to support this out of the box, and it
> > does -- to a degree.  Although, semantically and syntactically, xml1
> > and xml2 from the 1st test are equivalent, e4x is not thinking so, and
> > I think that is broken.  Searching for a workaround has popped up very
> > little, which is why I was hoping someone on the list might have a
> > good answer for why this is, and how I can test XML equivalence
> > without caring about element ordering.
> >
> > Regards,
> > Davis
> >
> > On Wed, Jan 6, 2010 at 7:03 PM, Paul Andrews <p...@ipauland.com
>
> > <mailto:p...@ipauland.com>> wrote:
> >
> >
> >     Davis Ford wrote:
> >     >
> >     >
> >     > Why does this test fail? Is there any way to test for equality that
> >     > ignores the ordering of elements -- which shouldn't technically
> >     matter?
> >     >
> >     > [Test]
> >     > public function testXmlEquality():void {
> >     > var xml1:XML =
> >     > <a>
> >     > <b></b>
> >     > <c></c>
> >     > </a>;
> >     > var xml2:XML =
> >     > <a>
> >     > <c></c>
> >     > <b></b>
> >     > </a>;
> >     > Assert.assertTrue(xml1 == xml2);
> >     > }
> >     xml1 and xml2 are references to objects. Because they are different
> >     objects they are not equal - the references are different.
> >     >
> >     >
> >     >
> >     >
> >     >
> >
> >
> >
> >
>
> > --
> > Zeno Consulting, Inc.
> > home: http://www.zenoconsulting.biz
> > blog: http://zenoconsulting.wikidot.com
> > p: 248.894.4922
> > f: 313.884.2977
> >
> >
> >
>
>
>  ------------------------------------
>
>
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Alternative FAQ location:
> https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847
>
> Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups
> Links
>
>    http://groups.yahoo.com/group/flexcoders/
>
>
>
>
>
>
> --
> Zeno Consulting, Inc.
> home: http://www.zenoconsulting.biz
> blog: http://zenoconsulting.wikidot.com
> p: 248.894.4922
> f: 313.884.2977
>
>   
>



-- 
Zeno Consulting, Inc.
home: http://www.zenoconsulting.biz
blog: http://zenoconsulting.wikidot.com
p: 248.894.4922
f: 313.884.2977

Reply via email to