From: Stefanos K. <ste...@im...> - 2009-09-18 07:41:32
|
Hi there I have been trying to work out how to get xmlunit to do what I want. I have the following xml String xml1 = "<parent><child id=\"1\">value1</child><child id=\"2\">value2</child></parent>"; String xml2 = "<parent><child id=\"3\">value3</child><child id=\"1\">value1 changed</child></parent>"; What I want is to make xmlunit find a differences between elements that have the same id (1) and inform me of missing or new elements (2,3) using the id attribute. I have implemented a custom qualifier that returns false if the element tag names dont match or if the ids dont match but xmlunit doesnt seem to be taking notice of it. I have also tried the ElementNameAndAttributeQualifier passing "id" in the constructor but I get the same result. What it does is Expected text value 'value1' but was 'value1 changed' - comparing <child ...>value1</child> at /parent[1]/child[1]/text()[1] to <child ...>value1 changed</child> at /parent[1]/child[2]/text()[1] Expected sequence of child nodes '0' but was '1' - comparing <child...> at /parent[1]/child[1] to <child...> at /parent[1]/child[2] Expected sequence of child nodes '1' but was '0' - comparing <child...> at /parent[1]/child[2] to <child...> at /parent[1]/child[1] Expected attribute value '2' but was '3' - comparing <child id="2"...> at /parent[1]/child[2]/@id to <child id="3"...> at /parent[1]/child[1]/@id Expected text value 'value2' but was 'value3' - comparing <child ...>value2</child> at /parent[1]/child[2]/text()[1] to <child ...>value3</child> at /parent[1]/child[1]/text()[1] How can I get xmlunit to say find the first difference and also inform me that node child id="2" is missing and that child id="3" is new Any help would be greatly appreciated Thanks in advance -- Stefanos Kollias Departamento de Enxeñería do Software ste...@im... ---------------------------------------------------------------------- imaxin|software Salgueiriños de Abaixo 11, L6 15703 Santiago de Compostela Voz +34 981 554 068 Fax +34 981 554 988 im...@im... ---------------------------------------------------------------------- www.imaxin.com |
From: Virat G. <vir...@gm...> - 2009-09-18 07:50:02
|
Hi Stefanos, I think you are facing the effects of the following defect: http://sourceforge.net/tracker/?func=detail&aid=2758280&group_id=23187&atid=377768 You may use the fix provided in the discussion unless you do not have any code depending on the current behavior. Thanks, Virat On Fri, Sep 18, 2009 at 1:01 PM, Stefanos Kollias <ste...@im...>wrote: > Hi there > > I have been trying to work out how to get xmlunit to do what I want. > > I have the following xml > > String xml1 = "<parent><child id=\"1\">value1</child><child > id=\"2\">value2</child></parent>"; > String xml2 = "<parent><child id=\"3\">value3</child><child > id=\"1\">value1 changed</child></parent>"; > > What I want is to make xmlunit find a differences between elements that > have the same id (1) and inform me of missing or new elements (2,3) > using the id attribute. > > I have implemented a custom qualifier that returns false if the element > tag names dont match or if the ids dont match but xmlunit doesnt seem to > be taking notice of it. > I have also tried the ElementNameAndAttributeQualifier passing "id" in > the constructor but I get the same result. > > What it does is > > Expected text value 'value1' but was 'value1 changed' - comparing <child > ...>value1</child> at /parent[1]/child[1]/text()[1] to <child ...>value1 > changed</child> at /parent[1]/child[2]/text()[1] > Expected sequence of child nodes '0' but was '1' - comparing <child...> > at /parent[1]/child[1] to <child...> at /parent[1]/child[2] > Expected sequence of child nodes '1' but was '0' - comparing <child...> > at /parent[1]/child[2] to <child...> at /parent[1]/child[1] > Expected attribute value '2' but was '3' - comparing <child id="2"...> > at /parent[1]/child[2]/@id to <child id="3"...> at /parent[1]/child[1]/@id > Expected text value 'value2' but was 'value3' - comparing <child > ...>value2</child> at /parent[1]/child[2]/text()[1] to <child > ...>value3</child> at /parent[1]/child[1]/text()[1] > > How can I get xmlunit to say find the first difference and also inform > me that node child id="2" is missing and that child id="3" is new > > Any help would be greatly appreciated > > Thanks in advance > > -- > Stefanos Kollias > Departamento de Enxeñería do Software > > ste...@im... > ---------------------------------------------------------------------- > imaxin|software > Salgueiriños de Abaixo 11, L6 > > 15703 Santiago de Compostela > > Voz +34 981 554 068 Fax +34 981 554 988 > im...@im... > ---------------------------------------------------------------------- > www.imaxin.com > > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9-12, 2009. Register now! > http://p.sf.net/sfu/devconf > _______________________________________________ > Xmlunit-general mailing list > Xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlunit-general > |
From: Stefanos K. <ste...@im...> - 2009-09-18 08:52:39
|
Wow, thanks for the superfast reply. This worked for me. Greatly appreciated Virat Gohil escribió: > Hi Stefanos, > > I think you are facing the effects of the following defect: > > http://sourceforge.net/tracker/?func=detail&aid=2758280&group_id=23187&atid=377768 > <http://sourceforge.net/tracker/?func=detail&aid=2758280&group_id=23187&atid=377768> > > You may use the fix provided in the discussion unless you do not have > any code depending on the current behavior. > > Thanks, > > Virat > > > > On Fri, Sep 18, 2009 at 1:01 PM, Stefanos Kollias <ste...@im... > <mailto:ste...@im...>> wrote: > > Hi there > > I have been trying to work out how to get xmlunit to do what I want. > > I have the following xml > > String xml1 = "<parent><child id=\"1\">value1</child><child > id=\"2\">value2</child></parent>"; > String xml2 = "<parent><child id=\"3\">value3</child><child > id=\"1\">value1 changed</child></parent>"; > > What I want is to make xmlunit find a differences between elements > that > have the same id (1) and inform me of missing or new elements (2,3) > using the id attribute. > > I have implemented a custom qualifier that returns false if the > element > tag names dont match or if the ids dont match but xmlunit doesnt > seem to > be taking notice of it. > I have also tried the ElementNameAndAttributeQualifier passing "id" in > the constructor but I get the same result. > > What it does is > > Expected text value 'value1' but was 'value1 changed' - comparing > <child > ...>value1</child> at /parent[1]/child[1]/text()[1] to <child > ...>value1 > changed</child> at /parent[1]/child[2]/text()[1] > Expected sequence of child nodes '0' but was '1' - comparing > <child...> > at /parent[1]/child[1] to <child...> at /parent[1]/child[2] > Expected sequence of child nodes '1' but was '0' - comparing > <child...> > at /parent[1]/child[2] to <child...> at /parent[1]/child[1] > Expected attribute value '2' but was '3' - comparing <child id="2"...> > at /parent[1]/child[2]/@id to <child id="3"...> at > /parent[1]/child[1]/@id > Expected text value 'value2' but was 'value3' - comparing <child > ...>value2</child> at /parent[1]/child[2]/text()[1] to <child > ...>value3</child> at /parent[1]/child[1]/text()[1] > > How can I get xmlunit to say find the first difference and also inform > me that node child id="2" is missing and that child id="3" is new > > Any help would be greatly appreciated > > Thanks in advance > > -- > Stefanos Kollias > Departamento de Enxeñería do Software > > ste...@im... <mailto:ste...@im...> > ---------------------------------------------------------------------- > imaxin|software > Salgueiriños de Abaixo 11, L6 > > 15703 Santiago de Compostela > > Voz +34 981 554 068 Fax +34 981 554 988 > im...@im... <mailto:im...@im...> > ---------------------------------------------------------------------- > www.imaxin.com <http://www.imaxin.com> > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. > Jumpstart your > developing skills, take BlackBerry mobile applications to market > and stay > ahead of the curve. Join us from November 9-12, 2009. Register > now! > http://p.sf.net/sfu/devconf > _______________________________________________ > Xmlunit-general mailing list > Xml...@li... > <mailto:Xml...@li...> > https://lists.sourceforge.net/lists/listinfo/xmlunit-general > > -- Stefanos Kollias Departamento de Enxeñería do Software ste...@im... ---------------------------------------------------------------------- imaxin|software Salgueiriños de Abaixo 11, L6 15703 Santiago de Compostela Voz +34 981 554 068 Fax +34 981 554 988 im...@im... ---------------------------------------------------------------------- www.imaxin.com |
From: Stefan B. <bo...@ap...> - 2009-09-18 09:53:44
|
Hmm, On 2009-09-18, Virat Gohil <vir...@gm...> wrote: > http://sourceforge.net/tracker/?func=detail&aid=2758280&group_id=23187&atid=377768 given that I'm currently spending way too much time on Ant to actually get something done on XMLUnit2 and given that two people have encountered http://sourceforge.net/tracker/?func=detail&aid=2807167&group_id=23187&atid=377768 by now it may be a good idea to implement Virat's suggested fix with a new option and release XMLUnit-Java 1.3. I'll see whether I can find some spare time next week. Stefan |