~raginggoblin/infolog/infolog

« back to all changes in this revision

Viewing changes to InfologServer/lib/hibernate-distribution-3.3.2.GA/project/testsuite/src/test/java/org/hibernate/test/mapping/PersistentClassVisitorTest.java

  • Committer: Raging Goblin
  • Date: 2013-11-16 16:51:32 UTC
  • Revision ID: raging_goblin-20131116165132-weujnptzc88uy4ah
Mavenized the project, now using shared project InfologSync

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
* Created on 06-Dec-2004
3
 
*
4
 
*/
5
 
package org.hibernate.test.mapping;
6
 
 
7
 
import junit.framework.Test;
8
 
import junit.framework.TestSuite;
9
 
 
10
 
import org.hibernate.mapping.JoinedSubclass;
11
 
import org.hibernate.mapping.PersistentClassVisitor;
12
 
import org.hibernate.mapping.RootClass;
13
 
import org.hibernate.mapping.SingleTableSubclass;
14
 
import org.hibernate.mapping.Subclass;
15
 
import org.hibernate.mapping.UnionSubclass;
16
 
import org.hibernate.junit.UnitTestCase;
17
 
 
18
 
/**
19
 
 * @author max
20
 
 * 
21
 
 */
22
 
public class PersistentClassVisitorTest extends UnitTestCase {
23
 
 
24
 
        public PersistentClassVisitorTest(String string) {
25
 
                super( string );
26
 
        }
27
 
 
28
 
        static public class PersistentClassVisitorValidator implements PersistentClassVisitor {
29
 
 
30
 
                private Object validate(Class expectedClass, Object visitee) {
31
 
                        if (!visitee.getClass().getName().equals(expectedClass.getName())) {
32
 
                                throw new IllegalStateException(visitee.getClass().getName()
33
 
                                                + " did not call proper accept method. Was "
34
 
                                                + expectedClass.getName());
35
 
                        }
36
 
                        return null;
37
 
                }
38
 
 
39
 
                public Object accept(RootClass class1) {
40
 
                        return validate(RootClass.class, class1);
41
 
                }
42
 
 
43
 
                public Object accept(UnionSubclass subclass) {
44
 
                        return validate(UnionSubclass.class, subclass);
45
 
                }
46
 
 
47
 
                public Object accept(SingleTableSubclass subclass) {
48
 
                        return validate(SingleTableSubclass.class, subclass);
49
 
                }
50
 
 
51
 
                public Object accept(JoinedSubclass subclass) {
52
 
                        return validate(JoinedSubclass.class, subclass);
53
 
                }
54
 
 
55
 
                public Object accept(Subclass subclass) {
56
 
                        return validate(Subclass.class, subclass);
57
 
                }
58
 
 
59
 
 
60
 
        };
61
 
 
62
 
        public void testProperCallbacks() {
63
 
 
64
 
                PersistentClassVisitorValidator vv = new PersistentClassVisitorValidator();
65
 
 
66
 
                new RootClass().accept(vv);
67
 
                new Subclass(new RootClass()).accept(vv);
68
 
                new JoinedSubclass(new RootClass()).accept(vv);
69
 
                new SingleTableSubclass(new RootClass()).accept(vv);
70
 
                new UnionSubclass(new RootClass()).accept(vv);
71
 
 
72
 
        }
73
 
 
74
 
        public static Test suite() {
75
 
                return new TestSuite(PersistentClassVisitorTest.class);
76
 
        }
77
 
 
78
 
}