1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.digester3.annotations.catalog;
19
20 import java.util.Collection;
21 import java.util.Stack;
22
23 import org.apache.commons.digester3.annotations.AbstractAnnotatedPojoTestCase;
24 import org.apache.commons.digester3.binder.AbstractRulesModule;
25 import org.apache.commons.digester3.binder.RulesModule;
26 import org.junit.Test;
27
28
29
30
31 public final class CatalogTestCase
32 extends AbstractAnnotatedPojoTestCase
33 {
34
35 @Test
36 public void testCatalog()
37 throws Exception
38 {
39 Catalog catalog = new Catalog();
40
41 Book book = new Book( "0-596-00184-3" );
42 book.setTitle( "Ant, The Definitive Guide" );
43 book.setAuthor( "Jesse Tilly & Eric M. Burke" );
44 book.setDesc( "Complete build management for Java." );
45 catalog.addItem( book );
46
47 book = new Book( "0201310058" );
48 book.setTitle( "Effective Java" );
49 book.setAuthor( "Joshua Bloch" );
50 book.setDesc( "Tips for experienced Java software developers." );
51 catalog.addItem( book );
52
53 AudioVisual dvd = new AudioVisual();
54 dvd.setName( "Drunken Master" );
55 dvd.setCategory( "martial arts" );
56 dvd.setDesc( "Hilarious slapstick starring Jackie Chan." );
57 dvd.setRuntime( 106 );
58 dvd.setYearMade( 1978 );
59 catalog.addItem( dvd );
60
61 dvd = new AudioVisual();
62 dvd.setName( "The Piano" );
63 dvd.setCategory( "drama" );
64 dvd.setDesc( "Character drama set in New Zealand during the Victorian era." );
65 dvd.setRuntime( 121 );
66 dvd.setYearMade( 1993 );
67 catalog.addItem( dvd );
68
69 this.verifyExpectedEqualsToParsed( catalog );
70 }
71
72 @Override
73 protected Collection<RulesModule> getAuxModules()
74 {
75 Collection<RulesModule> modules = new Stack<RulesModule>();
76 modules.add( new AbstractRulesModule()
77 {
78
79 @Override
80 public void configure()
81 {
82 forPattern( "catalog/dvd/attr" ).setProperty( "id" ).extractingValueFromAttribute( "value" );
83 }
84
85 } );
86 return modules;
87 }
88
89 }