forked from burtbeckwith/grails-hibernate-plugin
/
BeforeValidateHelperTests.groovy
71 lines (60 loc) · 2.67 KB
/
BeforeValidateHelperTests.groovy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package org.codehaus.groovy.grails.orm.hibernate.metaclass
class BeforeValidateHelperTests extends GroovyTestCase {
private BeforeValidateHelper beforeValidateHelper = new BeforeValidateHelper()
void testNoArgBeforeValidate() {
def obj = new ClassWithNoArgBeforeValidate()
assertEquals 'wrong initial counter value', 0, obj.noArgCounter
beforeValidateHelper.invokeBeforeValidate(obj, null)
assertEquals 'wrong counter value', 1, obj.noArgCounter
beforeValidateHelper.invokeBeforeValidate(obj, [])
assertEquals 'wrong counter value', 2, obj.noArgCounter
beforeValidateHelper.invokeBeforeValidate(obj, ['name', 'age', 'town'])
assertEquals 'wrong counter value', 3, obj.noArgCounter
}
void testListArgBeforeValidate() {
def obj = new ClassWithListArgBeforeValidate()
assertEquals 'wrong initial counter value', 0, obj.listArgCounter
beforeValidateHelper.invokeBeforeValidate(obj, null)
assertEquals 'wrong counter value', 1, obj.listArgCounter
beforeValidateHelper.invokeBeforeValidate(obj, [])
assertEquals 'wrong counter value', 2, obj.listArgCounter
beforeValidateHelper.invokeBeforeValidate(obj, ['name', 'age', 'town'])
assertEquals 'wrong counter value', 3, obj.listArgCounter
}
void testOverloadedBeforeValidate() {
def obj = new ClassWithOverloadedBeforeValidate()
assertEquals 'wrong initial list arg counter value', 0, obj.listArgCounter
assertEquals 'wrong initial no arg counter value', 0, obj.noArgCounter
beforeValidateHelper.invokeBeforeValidate(obj, null)
assertEquals 'wrong list arg counter value', 0, obj.listArgCounter
assertEquals 'wrong no arg counter value', 1, obj.noArgCounter
beforeValidateHelper.invokeBeforeValidate(obj, [])
assertEquals 'wrong list arg counter value', 1, obj.listArgCounter
assertEquals 'wrong no arg counter value', 1, obj.noArgCounter
beforeValidateHelper.invokeBeforeValidate(obj, ['name', 'age', 'town'])
assertEquals 'wrong list arg counter value', 2, obj.listArgCounter
assertEquals 'wrong no arg counter value', 1, obj.noArgCounter
}
}
class ClassWithNoArgBeforeValidate {
def noArgCounter = 0
def beforeValidate() {
++noArgCounter
}
}
class ClassWithListArgBeforeValidate {
def listArgCounter = 0
def beforeValidate(List properties) {
++listArgCounter
}
}
class ClassWithOverloadedBeforeValidate {
def noArgCounter = 0
def listArgCounter = 0
def beforeValidate() {
++noArgCounter
}
def beforeValidate(List properties) {
++listArgCounter
}
}