Showing 1 changed files with 116 additions and 121 deletions
+116 -121
t/01-core.t
... ...
@@ -6,40 +6,47 @@ use DBI::Custom;
6 6
 use Scalar::Util qw/blessed/;
7 7
 use DBI::Custom::SQL::Template;
8 8
 
9
+# Function for test name
10
+my $test;
11
+sub test {
12
+    $test = shift;
13
+}
14
+
15
+# Varialbes for test
16
+my $dbi;
17
+my $sql_tmpl;
18
+
9 19
 my $sql_tmpl1 = DBI::Custom::SQL::Template->new->tag_start(0);
10 20
 my $sql_tmpl2 = DBI::Custom::SQL::Template->new->tag_start(1);
11 21
 my $sql_tmpl3 = DBI::Custom::SQL::Template->new->tag_start(2);
12 22
 
13
-{
14
-    my $dbi = DBI::Custom->new(
15
-        user => 'a',
16
-        password => 'b',
17
-        data_source => 'c',
18
-        dbi_options => {d => 1, e => 2},
19
-        filters => {
20
-            f => 3,
21
-        },
22
-        bind_filter => 'f',
23
-        fetch_filter => 'g',
24
-        result_class => 'g',
25
-        sql_template => $sql_tmpl1,
26
-    );
27
-    is_deeply($dbi,{user => 'a', password => 'b', data_source => 'c', 
28
-                    dbi_options => {d => 1, e => 2}, filters => {f => 3}, bind_filter => 'f',
29
-                    fetch_filter => 'g', result_class => 'g',
30
-                    sql_template => $sql_tmpl1}, 'new');
31
-    
32
-    isa_ok($dbi, 'DBI::Custom');
33
-}
23
+test 'constructor';
24
+$dbi = DBI::Custom->new(
25
+    user => 'a',
26
+    password => 'b',
27
+    data_source => 'c',
28
+    dbi_options => {d => 1, e => 2},
29
+    filters => {
30
+        f => 3,
31
+    },
32
+    bind_filter => 'f',
33
+    fetch_filter => 'g',
34
+    result_class => 'g',
35
+    sql_template => $sql_tmpl1,
36
+);
37
+is_deeply($dbi,{user => 'a', password => 'b', data_source => 'c', 
38
+                dbi_options => {d => 1, e => 2}, filters => {f => 3}, bind_filter => 'f',
39
+                fetch_filter => 'g', result_class => 'g',
40
+                sql_template => $sql_tmpl1}, $test);
41
+isa_ok($dbi, 'DBI::Custom');
34 42
 
35 43
 
44
+test 'Sub class constructor';
36 45
 {
37 46
     package DBI::Custom::T1;
38 47
     use base 'DBI::Custom';
39 48
     
40
-    my $class = __PACKAGE__;
41
-    
42
-    $class
49
+    __PACKAGE__
43 50
       ->user('a')
44 51
       ->password('b')
45 52
       ->data_source('c')
... ...
@@ -53,73 +60,68 @@ my $sql_tmpl3 = DBI::Custom::SQL::Template->new->tag_start(2);
53 60
       ->sql_template($sql_tmpl1)
54 61
     ;
55 62
 }
56
-{
57
-    my $dbi = DBI::Custom::T1->new(
58
-        user => 'ao',
59
-        password => 'bo',
60
-        data_source => 'co',
61
-        dbi_options => {do => 10, eo => 20},
62
-        filters => {
63
-            fo => 30,
64
-        },
65
-        bind_filter => 'fo',
66
-        fetch_filter => 'go',
67
-        result_class => 'ho',
68
-        sql_template => $sql_tmpl1,
69
-    );
70
-    my $sql_tmpl = delete $dbi->{sql_template};
71
-    is($sql_tmpl->tag_start, 0);
72
-    is_deeply($dbi,{ user => 'ao', password => 'bo', data_source => 'co', dbi_options => {do => 10, eo => 20},
73
-                    ,filters => {fo => 30}, bind_filter => 'fo', fetch_filter => 'go', result_class => 'ho',
74
-                    }, 'new arguments');
75
-    
76
-    isa_ok($dbi, 'DBI::Custom::T1');
77
-}
63
+$dbi = DBI::Custom::T1->new(
64
+    user => 'ao',
65
+    password => 'bo',
66
+    data_source => 'co',
67
+    dbi_options => {do => 10, eo => 20},
68
+    filters => {
69
+        fo => 30,
70
+    },
71
+    bind_filter => 'fo',
72
+    fetch_filter => 'go',
73
+    result_class => 'ho',
74
+    sql_template => $sql_tmpl1,
75
+);
76
+is($dbi->user, 'ao', "$test : user");
77
+is($dbi->password, 'bo', "$test : passowr");
78
+is($dbi->data_source, 'co', "$test : data_source");
79
+is_deeply($dbi->dbi_options, {do => 10, eo => 20}, "$test : dbi_options");
80
+is_deeply(scalar $dbi->filters, {fo => 30}, "$test : filters");
81
+is($dbi->bind_filter, 'fo', "$test : bind_filter");
82
+is($dbi->fetch_filter, 'go', "$test : fetch_filter");
83
+is($dbi->result_class, 'ho', "$test : result_class");
84
+is($dbi->sql_template->tag_start, 0, "$test : sql_template");
85
+isa_ok($dbi, 'DBI::Custom::T1');
78 86
 
79
-{
80
-    my $dbi = DBI::Custom::T1->new;
81
-    
82
-    is($dbi->user, 'a');
83
-    is($dbi->password, 'b');
84
-    is($dbi->data_source, 'c');
85
-    is_deeply($dbi->dbi_options, {d => 1, e => 2});
86
-    is_deeply({$dbi->filters}, {f => 3});
87
-    is($dbi->bind_filter, 'f');
88
-    is($dbi->fetch_filter, 'g');
89
-    is($dbi->result_class, 'DBI::Custom::Result');
90
-    is($dbi->sql_template->tag_start, 0);
91
-    isa_ok($dbi, 'DBI::Custom::T1');
92
-    
93
-}
87
+test 'Sub class constructor default';
88
+$dbi = DBI::Custom::T1->new;
89
+is($dbi->user, 'a', "$test : user");
90
+is($dbi->password, 'b', "$test : password");
91
+is($dbi->data_source, 'c', "$test : data_source");
92
+is_deeply($dbi->dbi_options, {d => 1, e => 2}, "$test : dbi_options");
93
+is_deeply({$dbi->filters}, {f => 3}, "$test : filters");
94
+is($dbi->bind_filter, 'f', "$test : bind_filter");
95
+is($dbi->fetch_filter, 'g', "$test : fetch_filter");
96
+is($dbi->result_class, 'DBI::Custom::Result', "$test : result_class");
97
+is($dbi->sql_template->tag_start, 0, "$test : sql_template");
98
+isa_ok($dbi, 'DBI::Custom::T1');
94 99
 
100
+test 'Sub sub class constructor default';
95 101
 {
96 102
     package DBI::Custom::T1_2;
97 103
     use base 'DBI::Custom::T1';
98 104
 }
99 105
 
100
-{
101
-    my $dbi = DBI::Custom::T1_2->new;
102
-    
103
-    is($dbi->user, 'a');
104
-    is($dbi->password, 'b');
105
-    is($dbi->data_source, 'c');
106
-    is_deeply($dbi->dbi_options, {d => 1, e => 2});
107
-    is_deeply(scalar $dbi->filters, {f => 3});
108
-    is($dbi->bind_filter, 'f');
109
-    is($dbi->fetch_filter, 'g');
110
-    is($dbi->result_class, 'DBI::Custom::Result');
111
-    is($dbi->sql_template->tag_start, 0);
112
-    
113
-    isa_ok($dbi, 'DBI::Custom::T1_2');
114
-}
106
+$dbi = DBI::Custom::T1_2->new;
107
+is($dbi->user, 'a', "$test : user");
108
+is($dbi->password, 'b', "$test : passowrd");
109
+is($dbi->data_source, 'c', "$test : data_source");
110
+is_deeply($dbi->dbi_options, {d => 1, e => 2}, "$test : dbi_options");
111
+is_deeply(scalar $dbi->filters, {f => 3}, "$test : filters");
112
+is($dbi->bind_filter, 'f', "$test : bind_filter");
113
+is($dbi->fetch_filter, 'g', "$test : fetch_filter");
114
+is($dbi->result_class, 'DBI::Custom::Result', "$test : result_class");
115
+is($dbi->sql_template->tag_start, 0, "$test sql_template");
116
+isa_ok($dbi, 'DBI::Custom::T1_2');
115 117
 
118
+
119
+test 'Customized sub class constructor default';
116 120
 {
117 121
     package DBI::Custom::T1_3;
118 122
     use base 'DBI::Custom::T1';
119 123
     
120
-    my $class = __PACKAGE__;
121
-        
122
-    $class
124
+    __PACKAGE__
123 125
       ->user('ao')
124 126
       ->password('bo')
125 127
       ->data_source('co')
... ...
@@ -133,48 +135,41 @@ my $sql_tmpl3 = DBI::Custom::SQL::Template->new->tag_start(2);
133 135
       ->sql_template($sql_tmpl2)
134 136
     ;
135 137
 }
138
+$dbi = DBI::Custom::T1_3->new;
139
+is($dbi->user, 'ao', "$test : user");
140
+is($dbi->password, 'bo', "$test : password");
141
+is($dbi->data_source, 'co', "$test : data_source");
142
+is_deeply($dbi->dbi_options, {do => 10, eo => 20}, "$test : dbi_options");
143
+is_deeply(scalar $dbi->filters, {fo => 30}, "$test : filters");
144
+is($dbi->bind_filter, 'fo', "$test : bind_filter");
145
+is($dbi->fetch_filter, 'go', "$test : fetch_filter");
146
+is($dbi->result_class, 'ho', "$test : result_class");
147
+is($dbi->sql_template->tag_start, 1, "$test : sql_template");
148
+isa_ok($dbi, 'DBI::Custom::T1_3');
136 149
 
137
-{
138
-    my $dbi = DBI::Custom::T1_3->new;
139
-    
140
-    is($dbi->user, 'ao');
141
-    is($dbi->password, 'bo');
142
-    is($dbi->data_source, 'co');
143
-    is_deeply($dbi->dbi_options, {do => 10, eo => 20});
144
-    is_deeply(scalar $dbi->filters, {fo => 30});
145
-    is($dbi->bind_filter, 'fo');
146
-    is($dbi->fetch_filter, 'go');
147
-    is($dbi->result_class, 'ho');
148
-    is($dbi->sql_template->tag_start, 1);
149
-    
150
-    isa_ok($dbi, 'DBI::Custom::T1_3');
151
-}
152 150
 
153
-{
154
-    my $dbi = DBI::Custom::T1_3->new(
155
-        user => 'a',
156
-        password => 'b',
157
-        data_source => 'c',
158
-        dbi_options => {d => 1, e => 2},
159
-        filters => {
160
-            f => 3,
161
-        },
162
-        bind_filter => 'f',
163
-        fetch_filter => 'g',
164
-        result_class => 'h',
165
-        sql_template => $sql_tmpl3,
166
-    );
167
-    
168
-    is($dbi->user, 'a');
169
-    is($dbi->password, 'b');
170
-    is($dbi->data_source, 'c');
171
-    is_deeply($dbi->dbi_options, {d => 1, e => 2});
172
-    is_deeply({$dbi->filters}, {f => 3});
173
-    is($dbi->bind_filter, 'f');
174
-    is($dbi->fetch_filter, 'g');
175
-    is($dbi->result_class, 'h');
176
-    is($dbi->sql_template->tag_start, 2);
177
-    
178
-    isa_ok($dbi, 'DBI::Custom');
179
-}
151
+test 'Customized sub class constructor';
152
+$dbi = DBI::Custom::T1_3->new(
153
+    user => 'a',
154
+    password => 'b',
155
+    data_source => 'c',
156
+    dbi_options => {d => 1, e => 2},
157
+    filters => {
158
+        f => 3,
159
+    },
160
+    bind_filter => 'f',
161
+    fetch_filter => 'g',
162
+    result_class => 'h',
163
+    sql_template => $sql_tmpl3,
164
+);
165
+is($dbi->user, 'a', "$test : user");
166
+is($dbi->password, 'b', "$test : password");
167
+is($dbi->data_source, 'c', "$test : data_source");
168
+is_deeply($dbi->dbi_options, {d => 1, e => 2}, "$test : dbi_options");
169
+is_deeply({$dbi->filters}, {f => 3}, "$test : filters");
170
+is($dbi->bind_filter, 'f', "$test : bind_filter");
171
+is($dbi->fetch_filter, 'g', "$test : fetch_filter");
172
+is($dbi->result_class, 'h', "$test : result_class");
173
+is($dbi->sql_template->tag_start, 2, "$test : sql_template");
174
+isa_ok($dbi, 'DBI::Custom');
180 175