Kaydet (Commit) 11535357 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Test division and especially error handling

Change-Id: Ife4396bf8856178194497b724d4635468a58994d
üst 3452d662
......@@ -44,9 +44,11 @@ public:
void getNewDocShell(ScDocShellRef& rDocShellRef);
void testSUMIFS();
void testDivision();
CPPUNIT_TEST_SUITE(ScParallelismTest);
CPPUNIT_TEST(testSUMIFS);
CPPUNIT_TEST(testDivision);
CPPUNIT_TEST_SUITE_END();
private:
......@@ -163,6 +165,33 @@ void ScParallelismTest::testSUMIFS()
m_pDoc->DeleteTab(0);
}
void ScParallelismTest::testDivision()
{
m_pDoc->InsertTab(0, "1");
for (auto i = 1; i < 1000; i++)
{
/*A*/ m_pDoc->SetValue(0, i, 0, i);
/*B*/ m_pDoc->SetValue(1, i, 0, i%10);
/*C*/ m_pDoc->SetFormula(ScAddress(2, i, 0),
"=A" + OUString::number(i+1) + "/B" + OUString::number(i+1),
formula::FormulaGrammar::GRAM_NATIVE_UI);
}
m_xDocShell->DoHardRecalc();
for (auto i = 1; i < 1000; i++)
{
OString sMessage = "At row " + OString::number(i+1);
if (i%10)
CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE(sMessage.getStr(), static_cast<double>(i)/(i%10), m_pDoc->GetValue(2, i, 0), 1e-10);
else
CPPUNIT_ASSERT_EQUAL_MESSAGE(sMessage.getStr(), OUString("#DIV/0!"), m_pDoc->GetString(2, i, 0));
}
m_pDoc->DeleteTab(0);
}
CPPUNIT_TEST_SUITE_REGISTRATION(ScParallelismTest);
CPPUNIT_PLUGIN_IMPLEMENT();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment