IGNITE-2495: Added cursor test.

Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ac0b59ff
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ac0b59ff
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ac0b59ff

Branch: refs/heads/ignite-1786
Commit: ac0b59ff8cfd0ae0ec9fb82aa10972078952065a
Parents: 8c0c675
Author: isapego <[email protected]>
Authored: Thu Jan 28 17:33:52 2016 +0300
Committer: isapego <[email protected]>
Committed: Thu Jan 28 17:33:52 2016 +0300

----------------------------------------------------------------------
 .../platforms/cpp/odbc-test/src/cursor_test.cpp | 54 ++++++++++++++++++++
 1 file changed, 54 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/ac0b59ff/modules/platforms/cpp/odbc-test/src/cursor_test.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc-test/src/cursor_test.cpp 
b/modules/platforms/cpp/odbc-test/src/cursor_test.cpp
index af841e7..193f694 100644
--- a/modules/platforms/cpp/odbc-test/src/cursor_test.cpp
+++ b/modules/platforms/cpp/odbc-test/src/cursor_test.cpp
@@ -163,4 +163,58 @@ BOOST_AUTO_TEST_CASE(TestCursorUpdate)
     CheckCursorEnd(cursor);
 }
 
+BOOST_AUTO_TEST_CASE(TestCursorUpdateOneRow)
+{
+    Cursor cursor(testQueryId);
+
+    std::auto_ptr<ResultPage> resultPage = CreateTestPage(false, 1);
+
+    cursor.UpdateData(resultPage);
+
+    BOOST_REQUIRE(cursor.GetQueryId() == testQueryId);
+
+    CheckCursorNeedUpdate(cursor);
+
+    BOOST_REQUIRE(!cursor.Increment());
+
+    resultPage = CreateTestPage(true, 1);
+
+    cursor.UpdateData(resultPage);
+
+    CheckCursorEnd(cursor);
+
+    BOOST_REQUIRE(!cursor.Increment());
+}
+
+BOOST_AUTO_TEST_CASE(TestCursorUpdateTwoRows)
+{
+    Cursor cursor(testQueryId);
+
+    std::auto_ptr<ResultPage> resultPage = CreateTestPage(false, 2);
+
+    cursor.UpdateData(resultPage);
+
+    BOOST_REQUIRE(cursor.GetQueryId() == testQueryId);
+
+    CheckCursorReady(cursor);
+
+    BOOST_REQUIRE(cursor.Increment());
+
+    CheckCursorNeedUpdate(cursor);
+
+    BOOST_REQUIRE(!cursor.Increment());
+
+    resultPage = CreateTestPage(true, 2);
+
+    cursor.UpdateData(resultPage);
+
+    CheckCursorReady(cursor);
+
+    BOOST_REQUIRE(cursor.Increment());
+
+    CheckCursorEnd(cursor);
+
+    BOOST_REQUIRE(!cursor.Increment());
+}
+
 BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file

Reply via email to