KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > scriptella > driver > text > TextScriptExecutorTest


1 /*
2  * Copyright 2006-2007 The Scriptella Project Team.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package scriptella.driver.text;
17
18 import scriptella.AbstractTestCase;
19 import scriptella.spi.AbstractConnection;
20 import scriptella.spi.MockParametersCallbacks;
21 import scriptella.spi.ParametersCallback;
22
23 import java.io.IOException JavaDoc;
24 import java.io.StringReader JavaDoc;
25 import java.io.StringWriter JavaDoc;
26 import java.util.HashMap JavaDoc;
27 import java.util.Map JavaDoc;
28
29 /**
30  * Tests for {@link scriptella.driver.text.TextQueryExecutor}.
31  *
32  * @author Fyodor Kupolov
33  * @version 1.0
34  */

35 public class TextScriptExecutorTest extends AbstractTestCase {
36     /**
37      * Tests general functionality.
38      */

39     public void test() throws IOException JavaDoc {
40         String JavaDoc s = " $rownum;$name;$surname;${email.trim().replaceAll('@','_at_')}\n";
41         StringWriter JavaDoc out = new StringWriter JavaDoc();
42         TextScriptExecutor ts = new TextScriptExecutor(out, true, "\n");
43         Map JavaDoc<String JavaDoc,String JavaDoc> m = new HashMap JavaDoc<String JavaDoc, String JavaDoc>();
44         m.put("rownum", "1");
45         m.put("name", "John");
46         m.put("surname", "G");
47         m.put("email", " john@nosuchhost.com");
48
49         ParametersCallback c = MockParametersCallbacks.fromMap(m);
50         AbstractConnection.StatementCounter counter = new AbstractConnection.StatementCounter();
51         ts.execute(new StringReader JavaDoc(s), c, counter);
52         assertEquals(1, counter.statements);
53
54         m.put("rownum", "2");
55         m.put("name", "Jim");
56         m.put("surname", "G");
57         m.put("email", " jim@nosuchhost.com");
58         ts.execute(new StringReader JavaDoc(s), c, counter);
59         assertEquals(2, counter.statements);
60         ts.close();
61         String JavaDoc res = out.toString();
62         String JavaDoc[] ar = res.split("\n");
63         assertEquals("1;John;G;john_at_nosuchhost.com", ar[0]);
64         assertEquals("2;Jim;G;jim_at_nosuchhost.com", ar[1]);
65     }
66
67 }
68
Popular Tags