|
1 | 1 | /**
|
2 |
| - * Copyright 2009-2015 the original author or authors. |
| 2 | + * Copyright 2009-2016 the original author or authors. |
3 | 3 | *
|
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License");
|
5 | 5 | * you may not use this file except in compliance with the License.
|
|
30 | 30 | import java.io.IOException;
|
31 | 31 | import java.io.Reader;
|
32 | 32 | import java.sql.Connection;
|
| 33 | +import java.util.ArrayList; |
33 | 34 | import java.util.Iterator;
|
| 35 | +import java.util.List; |
34 | 36 |
|
35 | 37 | public class CursorSimpleTest {
|
36 | 38 |
|
@@ -294,4 +296,41 @@ public void testCursorUsageAfterClose() throws IOException {
|
294 | 296 |
|
295 | 297 | Assert.fail("Should have returned earlier");
|
296 | 298 | }
|
| 299 | + |
| 300 | + @Test |
| 301 | + public void shouldGetAllUserUsingAnnotationBasedMapper() { |
| 302 | + SqlSession sqlSession = sqlSessionFactory.openSession(); |
| 303 | + sqlSession.getConfiguration().getMapperRegistry().addMapper(AnnotationMapper.class); |
| 304 | + AnnotationMapper mapper = sqlSession.getMapper(AnnotationMapper.class); |
| 305 | + Cursor<User> usersCursor = mapper.getAllUsers(); |
| 306 | + try { |
| 307 | + Assert.assertFalse(usersCursor.isOpen()); |
| 308 | + Assert.assertFalse(usersCursor.isConsumed()); |
| 309 | + Assert.assertEquals(-1, usersCursor.getCurrentIndex()); |
| 310 | + |
| 311 | + List<User> userList = new ArrayList<User>(); |
| 312 | + for (User user : usersCursor){ |
| 313 | + userList.add(user); |
| 314 | + Assert.assertEquals(userList.size() -1, usersCursor.getCurrentIndex()); |
| 315 | + } |
| 316 | + |
| 317 | + Assert.assertFalse(usersCursor.isOpen()); |
| 318 | + Assert.assertTrue(usersCursor.isConsumed()); |
| 319 | + Assert.assertEquals(3, usersCursor.getCurrentIndex()); |
| 320 | + |
| 321 | + Assert.assertEquals(4, userList.size()); |
| 322 | + User user = userList.get(0); |
| 323 | + Assert.assertEquals("User1", user.getName()); |
| 324 | + user = userList.get(1); |
| 325 | + Assert.assertEquals("User2", user.getName()); |
| 326 | + user = userList.get(2); |
| 327 | + Assert.assertEquals("User3", user.getName()); |
| 328 | + user = userList.get(3);; |
| 329 | + Assert.assertEquals("User4", user.getName()); |
| 330 | + |
| 331 | + } finally { |
| 332 | + sqlSession.close(); |
| 333 | + } |
| 334 | + } |
| 335 | + |
297 | 336 | }
|
0 commit comments