Skip to content

Commit eadac9b

Browse files
committed
Add assertions for MultipleResultTest
1 parent 5ae07fe commit eadac9b

File tree

3 files changed

+46
-10
lines changed

3 files changed

+46
-10
lines changed

src/test/java/org/apache/ibatis/submitted/usesjava8/multiple_resultsets/Mapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919

2020
public interface Mapper {
2121

22-
List<?> getUsersAndGroups();
22+
List<List<?>> getUsersAndGroups();
2323

24-
List<?> multiResultsWithUpdate();
24+
List<List<?>> multiResultsWithUpdate();
2525

2626
}

src/test/java/org/apache/ibatis/submitted/usesjava8/multiple_resultsets/Mapper.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@
2323
<mapper namespace="org.apache.ibatis.submitted.usesjava8.multiple_resultsets.Mapper">
2424

2525
<select id="getUsersAndGroups" resultMap="usersResult,groupsResult">
26-
select * from mbtest.order_detail ; select * from mbtest.order_header
26+
select * from mbtest.order_detail order by order_id, line_number ; select * from mbtest.order_header order by order_id
2727
</select>
2828

2929
<select id="multiResultsWithUpdate" resultMap="usersResult,groupsResult">
30-
select * from mbtest.order_detail ;
30+
select * from mbtest.order_detail order by order_id, line_number ;
3131
insert into mbtest.order_detail
3232
(order_id, line_number, quantity, item_description) values (2, 4, 5, 'Eraser') ;
33-
select * from mbtest.order_header
33+
select * from mbtest.order_header order by order_id
3434
</select>
3535

3636
<resultMap type="org.apache.ibatis.submitted.usesjava8.multiple_resultsets.OrderDetail" id="usersResult" />

src/test/java/org/apache/ibatis/submitted/usesjava8/multiple_resultsets/MultipleResultTest.java

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,53 @@ public static void tearDown() {
8383
public void shouldGetMultipleResultSetsWithOneStatement() throws IOException {
8484
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
8585
Mapper mapper = sqlSession.getMapper(Mapper.class);
86-
List<?> usersAndGroups = mapper.getUsersAndGroups();
87-
Assert.assertEquals(2, usersAndGroups.size());
86+
List<List<?>> results = mapper.getUsersAndGroups();
87+
Assert.assertEquals(2, results.size());
88+
89+
Assert.assertEquals(6, results.get(0).size());
90+
OrderDetail detail = (OrderDetail)results.get(0).get(0);
91+
Assert.assertEquals(1, detail.getOrderId());
92+
Assert.assertEquals(1, detail.getLineNumber());
93+
Assert.assertEquals(1, detail.getQuantity());
94+
Assert.assertEquals("Pen", detail.getItemDescription());
95+
96+
Assert.assertEquals(2, results.get(1).size());
97+
OrderHeader header = (OrderHeader)results.get(1).get(0);
98+
Assert.assertEquals(1, header.getOrderId());
99+
Assert.assertEquals("Fred", header.getCustName());
88100
}
89101
}
90102

91103
@Test
92104
public void shouldSkipNullResultSet() {
93105
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
94-
Mapper mapper = sqlSession.getMapper(Mapper.class);
95-
List<?> results = mapper.multiResultsWithUpdate();
96-
Assert.assertEquals(2, results.size());
106+
try {
107+
Mapper mapper = sqlSession.getMapper(Mapper.class);
108+
List<List<?>> results = mapper.multiResultsWithUpdate();
109+
Assert.assertEquals(2, results.size());
110+
111+
Assert.assertEquals(6, results.get(0).size());
112+
OrderDetail detail = (OrderDetail) results.get(0).get(0);
113+
Assert.assertEquals(1, detail.getOrderId());
114+
Assert.assertEquals(1, detail.getLineNumber());
115+
Assert.assertEquals(1, detail.getQuantity());
116+
Assert.assertEquals("Pen", detail.getItemDescription());
117+
118+
Assert.assertEquals(2, results.get(1).size());
119+
OrderHeader header = (OrderHeader) results.get(1).get(0);
120+
Assert.assertEquals(1, header.getOrderId());
121+
Assert.assertEquals("Fred", header.getCustName());
122+
123+
results = mapper.getUsersAndGroups();
124+
Assert.assertEquals(7, results.get(0).size());
125+
detail = (OrderDetail) results.get(0).get(6);
126+
Assert.assertEquals(2, detail.getOrderId());
127+
Assert.assertEquals(4, detail.getLineNumber());
128+
Assert.assertEquals(5, detail.getQuantity());
129+
Assert.assertEquals("Eraser", detail.getItemDescription());
130+
} finally {
131+
sqlSession.rollback(true);
132+
}
97133
}
98134
}
99135
}

0 commit comments

Comments
 (0)