rdonkin 2003/06/28 02:07:12 Modified: betwixt/src/test/org/apache/commons/betwixt TestBeanWriter.java Log: Improved test case by replacing the output to system.out with checking the xml. Revision Changes Path 1.14 +65 -4 jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/TestBeanWriter.java Index: TestBeanWriter.java =================================================================== RCS file: /home/cvs/jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/TestBeanWriter.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- TestBeanWriter.java 25 Apr 2003 11:19:34 -0000 1.13 +++ TestBeanWriter.java 28 Jun 2003 09:07:12 -0000 1.14 @@ -111,7 +111,9 @@ public void testLooping() throws Exception { - BeanWriter writer = new BeanWriter(); + StringWriter out = new StringWriter(); + out.write("<?xml version='1.0'?>"); + BeanWriter writer = new BeanWriter(out); writer.setWriteEmptyElements( true ); // logging for debugging jsut this method @@ -128,21 +130,80 @@ writer.enablePrettyPrint(); writer.write( LoopBean.createNoLoopExampleBean() ); - writer.write( LoopBean.createLoopExampleBean() ); + + String xml ="<?xml version='1.0'?><LoopBean><name>Root</name><friend><name>level1</name>" + + "<friend><name>level2</name><friend><name>level3</name><friend><name>level4</name>" + + "<friend><name>level5</name></friend></friend></friend></friend></friend></LoopBean>"; + + xmlAssertIsomorphicContent( + "Test no loop", + parseString(out.getBuffer().toString()), + parseString(xml), + true); + + out = new StringWriter(); + out.write("<?xml version='1.0'?>"); + writer = new BeanWriter(out); + writer.setWriteEmptyElements( true ); + writer.write( LoopBean.createLoopExampleBean() ); + xml ="<?xml version='1.0'?><LoopBean><name>Root</name><friend><name>level1</name>" + + "<friend><name>level2</name><friend><name>level3</name><friend><name>level4</name>" + + "<friend><name>level5</name><friend idref='1'/></friend></friend></friend>" + + "</friend></friend></LoopBean>"; + xmlAssertIsomorphicContent( + "Test loop", + parseString(out.getBuffer().toString()), + parseString(xml), + true); // test not writing IDs - writer.setWriteIDs(false); + // log.info("Writing LoopBean.createNoLoopExampleBean..."); + out = new StringWriter(); + out.write("<?xml version='1.0'?>"); + writer = new BeanWriter(out); + writer.setWriteEmptyElements( true ); + writer.setWriteIDs(false); writer.write( LoopBean.createNoLoopExampleBean() ); + xml ="<?xml version='1.0'?><LoopBean><name>Root</name><friend><name>level1</name><friend>" + + "<name>level2</name><friend><name>level3</name><friend><name>level4</name><friend>" + + "<name>level5</name></friend></friend>" + + "</friend></friend></friend></LoopBean>"; + + xmlAssertIsomorphicContent( + "Test no loop, no ids", + parseString(out.getBuffer().toString()), + parseString(xml), + true); // log.info("Writing LoopBean.createIdOnlyLoopExampleBean..."); + out = new StringWriter(); + out.write("<?xml version='1.0'?>"); + writer = new BeanWriter(out); + writer.setWriteEmptyElements( true ); + writer.setWriteIDs(false); writer.write( LoopBean.createIdOnlyLoopExampleBean() ); + xml = "<?xml version='1.0'?><LoopBean><name>Root</name><friend><name>level1</name>" + + "<friend><name>level2</name><friend><name>level3</name><friend><name>level4</name>" + + "<friend><name>level5</name><friend><name>Root</name></friend></friend>" + + "</friend></friend></friend></friend></LoopBean>"; + + xmlAssertIsomorphicContent( + "Test id only loop", + parseString(out.getBuffer().toString()), + parseString(xml), + true); try { -// log.info("Writing LoopBean.createLoopExampleBean..."); +// log.info("Writing LoopBean.createLoopExampleBean...") + out = new StringWriter(); + out.write("<?xml version='1.0'?>"); + writer = new BeanWriter(out); + writer.setWriteEmptyElements( true ); + writer.setWriteIDs(false); writer.write( LoopBean.createLoopExampleBean() ); fail("CyclicReferenceException not thrown!");
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]