From bc5e5cb08a91a5daf0e9a5e78cf304b52e1ad369 Mon Sep 17 00:00:00 2001 From: Mike Kaganski Date: Mon, 5 Feb 2024 13:32:40 +0600 Subject: [PATCH] tdf#148645: add unit test This introduces CppunitTest_scaddins_analysis. Change-Id: I4e6d4215f05bc68852ecac12082e8398cca5be5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162982 Tested-by: Jenkins Reviewed-by: Mike Kaganski --- scaddins/CppunitTest_scaddins_analysis.mk | 38 ++++++++++++++ scaddins/Module_scaddins.mk | 4 ++ scaddins/qa/analysis.cxx | 63 +++++++++++++++++++++++ 3 files changed, 105 insertions(+) create mode 100644 scaddins/CppunitTest_scaddins_analysis.mk create mode 100644 scaddins/qa/analysis.cxx diff --git a/scaddins/CppunitTest_scaddins_analysis.mk b/scaddins/CppunitTest_scaddins_analysis.mk new file mode 100644 index 000000000000..fa40c03fd8f5 --- /dev/null +++ b/scaddins/CppunitTest_scaddins_analysis.mk @@ -0,0 +1,38 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_CppunitTest_CppunitTest,scaddins_analysis)) + +$(eval $(call gb_CppunitTest_add_exception_objects,scaddins_analysis, \ + scaddins/qa/analysis \ +)) + +$(eval $(call gb_CppunitTest_use_libraries,scaddins_analysis, \ + comphelper \ + cppu \ + sal \ + test \ + unotest \ +)) + + +$(eval $(call gb_CppunitTest_use_ure,scaddins_analysis)) +$(eval $(call gb_CppunitTest_use_vcl,scaddins_analysis)) + +$(eval $(call gb_CppunitTest_use_rdb,scaddins_analysis,services)) + +$(eval $(call gb_CppunitTest_use_configuration,scaddins_analysis)) + +$(eval $(call gb_CppunitTest_use_sdk_api,scaddins_analysis)) + +$(eval $(call gb_CppunitTest_use_internal_comprehensive_api,scaddins_analysis,\ + scaddins \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/scaddins/Module_scaddins.mk b/scaddins/Module_scaddins.mk index a927385b276c..edc385faf798 100644 --- a/scaddins/Module_scaddins.mk +++ b/scaddins/Module_scaddins.mk @@ -30,4 +30,8 @@ $(eval $(call gb_Module_add_l10n_targets,scaddins,\ AllLangMoTarget_sca \ )) +$(eval $(call gb_Module_add_check_targets,scaddins,\ + CppunitTest_scaddins_analysis \ +)) + # vim: set noet sw=4 ts=4: diff --git a/scaddins/qa/analysis.cxx b/scaddins/qa/analysis.cxx new file mode 100644 index 000000000000..5a8cec506e91 --- /dev/null +++ b/scaddins/qa/analysis.cxx @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include + +#include +#include +#include + +#include + +#include + +namespace +{ +class Test : public test::BootstrapFixture +{ +public: + virtual void setUp() override; + +protected: + css::uno::Reference mxAnalysis; +}; + +void Test::setUp() +{ + test::BootstrapFixture::setUp(); + auto xFactory(comphelper::getProcessServiceFactory()); + mxAnalysis.set(xFactory->createInstance(u"com.sun.star.sheet.addin.Analysis"_ustr), + css::uno::UNO_QUERY_THROW); +} + +CPPUNIT_TEST_FIXTURE(Test, test_getDec2Hex) +{ + // Test that 'Places' argument accepts different numeric types + CPPUNIT_ASSERT_EQUAL(u"000000006E"_ustr, + mxAnalysis->getDec2Hex({}, 110, css::uno::Any(sal_Int8(10)))); + CPPUNIT_ASSERT_EQUAL(u"000000006E"_ustr, + mxAnalysis->getDec2Hex({}, 110, css::uno::Any(sal_Int16(10)))); + CPPUNIT_ASSERT_EQUAL(u"000000006E"_ustr, + mxAnalysis->getDec2Hex({}, 110, css::uno::Any(sal_uInt16(10)))); + CPPUNIT_ASSERT_EQUAL(u"000000006E"_ustr, + mxAnalysis->getDec2Hex({}, 110, css::uno::Any(sal_Int32(10)))); + CPPUNIT_ASSERT_EQUAL(u"000000006E"_ustr, + mxAnalysis->getDec2Hex({}, 110, css::uno::Any(sal_uInt32(10)))); + CPPUNIT_ASSERT_EQUAL(u"000000006E"_ustr, + mxAnalysis->getDec2Hex({}, 110, css::uno::Any(sal_Int64(10)))); + CPPUNIT_ASSERT_EQUAL(u"000000006E"_ustr, + mxAnalysis->getDec2Hex({}, 110, css::uno::Any(double(10)))); + CPPUNIT_ASSERT_EQUAL(u"000000006E"_ustr, + mxAnalysis->getDec2Hex({}, 110, css::uno::Any(float(10)))); +} +} + +CPPUNIT_PLUGIN_IMPLEMENT(); + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */