Toponaming: Add missing TNP element name code; rough in more TNP tests (#14561)
* Add missing TNP element name code; rough in more TNP tests * Update ElementNamingUtils.cpp --------- Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
This commit is contained in:
@@ -13,6 +13,7 @@ target_sources(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Expression.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ExpressionParser.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ElementMap.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ElementNamingUtils.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/IndexedName.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/License.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/MappedElement.cpp
|
||||
|
||||
58
tests/src/App/ElementNamingUtils.cpp
Normal file
58
tests/src/App/ElementNamingUtils.cpp
Normal file
@@ -0,0 +1,58 @@
|
||||
// SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <App/Application.h>
|
||||
#include <App/ElementMap.h>
|
||||
#include <src/App/InitApplication.h>
|
||||
|
||||
// NOLINTBEGIN(readability-magic-numbers)
|
||||
|
||||
|
||||
class ElementNamingUtilsTest: public ::testing::Test
|
||||
{
|
||||
protected:
|
||||
static void SetUpTestSuite()
|
||||
{
|
||||
tests::initApplication();
|
||||
}
|
||||
|
||||
void SetUp() override
|
||||
{
|
||||
_docName = App::GetApplication().getUniqueDocumentName("test");
|
||||
App::GetApplication().newDocument(_docName.c_str(), "testUser");
|
||||
_sids = &_sid;
|
||||
_hasher = Base::Reference<App::StringHasher>(new App::StringHasher);
|
||||
ASSERT_EQ(_hasher.getRefCount(), 1);
|
||||
}
|
||||
|
||||
void TearDown() override
|
||||
{
|
||||
App::GetApplication().closeDocument(_docName.c_str());
|
||||
}
|
||||
|
||||
std::string _docName;
|
||||
Data::ElementIDRefs _sid;
|
||||
QVector<App::StringIDRef>* _sids;
|
||||
App::StringHasherRef _hasher;
|
||||
};
|
||||
|
||||
TEST_F(ElementNamingUtilsTest, findElementName)
|
||||
{
|
||||
// Act
|
||||
Data::ElementMap elementMap = Data::ElementMap();
|
||||
auto name1 = Data::findElementName("Edge1");
|
||||
auto name2 = Data::findElementName(";g5v2;SKT;:Had6,V;:G;OFS;:Had6:7,V;:G;OFS;:Had6:7,V;WIR;:"
|
||||
"Had6:4,V;:G;XTR;:Had6:7,E;:H,E.Face1.Edge2");
|
||||
auto name3 = Data::findElementName("An.Example.Assembly.Edge3");
|
||||
auto name4 = Data::findElementName(".Edge4");
|
||||
|
||||
// Assert
|
||||
EXPECT_STREQ(name1, "Edge1");
|
||||
EXPECT_STREQ(name2,
|
||||
";g5v2;SKT;:Had6,V;:G;OFS;:Had6:7,V;:G;OFS;:Had6:7,V;WIR;:"
|
||||
"Had6:4,V;:G;XTR;:Had6:7,E;:H,E.Face1.Edge2");
|
||||
EXPECT_STREQ(name3, "Edge3");
|
||||
EXPECT_STREQ(name4, "Edge4");
|
||||
}
|
||||
// NOLINTEND(readability-magic-numbers)
|
||||
Reference in New Issue
Block a user