tdf#156985: sc_ucalc_formula2: Add unittest
Change-Id: Iaf6d4310eb40bfc4880902f57a75b7f85a8af906
diff --git a/sc/qa/unit/ucalc_formula2.cxx b/sc/qa/unit/ucalc_formula2.cxx
index 14f0001..296814b 100644
--- a/sc/qa/unit/ucalc_formula2.cxx
+++ b/sc/qa/unit/ucalc_formula2.cxx
@@ -4606,6 +4606,27 @@ CPPUNIT_TEST_FIXTURE(TestFormula2, testTdf147398)
m_pDoc->DeleteTab(0);
}
CPPUNIT_TEST_FIXTURE(TestFormula2, testTdf156985)
{
m_pDoc->InsertTab(0, "Test");
m_pDoc->SetString(0, 0, 0, "=-170.87");
m_pDoc->SetString(0, 1, 0, "-223.73");
m_pDoc->SetString(0, 2, 0, "-12.58");
m_pDoc->SetString(0, 3, 0, "234.98");
m_pDoc->SetString(0, 4, 0, "172.2");
m_pDoc->SetString(0, 5, 0, "=SUM(A1:A5)");
m_pDoc->SetString(0, 6, 0, "=RAWSUBTRACT(0;A1;A2;A3;A4;A5)");
// Without the fix in place, this test would have failed with
// - Expected: 0
// - Actual : -1.59872115546023e-14
CPPUNIT_ASSERT_EQUAL(0.0, m_pDoc->GetValue(0, 5, 0));
CPPUNIT_ASSERT_EQUAL(2.8421709430404e-14, m_pDoc->GetValue(0, 6, 0));
m_pDoc->DeleteTab(0);
}
CPPUNIT_TEST_FIXTURE(TestFormula2, testFormulaAfterDeleteRows)
{
sc::AutoCalcSwitch aACSwitch(*m_pDoc, true); // turn auto calc on.