From f1445ed3153d46715bf7d793ea0ec888b3dafdb8 Mon Sep 17 00:00:00 2001 From: marioalexis Date: Thu, 10 Aug 2023 11:43:53 -0300 Subject: [PATCH] Test: Add StringHasher test --- src/Mod/Test/CMakeLists.txt | 1 + src/Mod/Test/Init.py | 1 + src/Mod/Test/StringHasher.py | 47 ++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 src/Mod/Test/StringHasher.py diff --git a/src/Mod/Test/CMakeLists.txt b/src/Mod/Test/CMakeLists.txt index 67a293c69f..b4d101a0b8 100644 --- a/src/Mod/Test/CMakeLists.txt +++ b/src/Mod/Test/CMakeLists.txt @@ -5,6 +5,7 @@ SET(Test_SRCS BaseTests.py Document.py Metadata.py + StringHasher.py Menu.py TestApp.py TestGui.py diff --git a/src/Mod/Test/Init.py b/src/Mod/Test/Init.py index b9519da36d..a56f9f72ca 100644 --- a/src/Mod/Test/Init.py +++ b/src/Mod/Test/Init.py @@ -28,5 +28,6 @@ FreeCAD.__unit_test__ += [ "BaseTests", "UnitTests", "Document", "Metadata", + "StringHasher", "UnicodeTests", "TestPythonSyntax" ] diff --git a/src/Mod/Test/StringHasher.py b/src/Mod/Test/StringHasher.py new file mode 100644 index 0000000000..98a82f975f --- /dev/null +++ b/src/Mod/Test/StringHasher.py @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +#*************************************************************************** +#* Copyright (c) 2023 Mario Passaglia * +#* * +#* This file is part of FreeCAD. * +#* * +#* FreeCAD is free software: you can redistribute it and/or modify it * +#* under the terms of the GNU Lesser General Public License as * +#* published by the Free Software Foundation, either version 2.1 of the * +#* License, or (at your option) any later version. * +#* * +#* FreeCAD is distributed in the hope that it will be useful, but * +#* WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * +#* Lesser General Public License for more details. * +#* * +#* You should have received a copy of the GNU Lesser General Public * +#* License along with FreeCAD. If not, see * +#* . * +#* * +#**************************************************************************/ + +import FreeCAD +import unittest + + +class TestStringHasher(unittest.TestCase): + def setUp(self): + self.strHash = FreeCAD.StringHasher() + self.strID = self.strHash.getID("A") + + def testInit(self): + with self.assertRaises(TypeError): + FreeCAD.StringHasher(0) + + def testGetID(self): + with self.assertRaises(ValueError): + self.strHash.getID(0) + + def testStringHasherIsSame(self): + with self.assertRaises(TypeError): + self.strHash.isSame(0) + + def testStringIDIsSame(self): + with self.assertRaises(TypeError): + self.strID.isSame(0)