| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | #include <gtest/gtest.h> |
| | #include <string> |
| | #include <Base/UniqueNameManager.h> |
| |
|
| | |
| | TEST(UniqueNameManager, NonconflictingBaseNameReturnsSameName) |
| | { |
| | |
| | |
| | EXPECT_EQ(Base::UniqueNameManager().makeUniqueName("Body"), "Body"); |
| | } |
| |
|
| | TEST(UniqueNameManager, NonconflictingUniqueNameReturnsBaseName) |
| | { |
| | |
| | |
| | EXPECT_EQ(Base::UniqueNameManager().makeUniqueName("Body123"), "Body"); |
| | } |
| |
|
| | TEST(UniqueNameManager, ManyDigitsInModelNameIgnored) |
| | { |
| | |
| | |
| | Base::UniqueNameManager manager; |
| | manager.addExactName("Body"); |
| | EXPECT_EQ(manager.makeUniqueName("Body12345", 3), "Body001"); |
| | } |
| |
|
| | TEST(UniqueNameManager, ConflictingBaseNameReturnsUniqueName) |
| | { |
| | |
| | |
| | Base::UniqueNameManager manager; |
| | manager.addExactName("Body"); |
| | EXPECT_EQ(manager.makeUniqueName("Body", 1), "Body1"); |
| | } |
| |
|
| | TEST(UniqueNameManager, ConflictingUniqueNameReturnsNewUniqueName) |
| | { |
| | |
| | |
| | Base::UniqueNameManager manager; |
| | manager.addExactName("Body"); |
| | manager.addExactName("Body001"); |
| | EXPECT_EQ(manager.makeUniqueName("Body001", 3), "Body002"); |
| | } |
| |
|
| | TEST(UniqueNameManager, VerifyUniqueDigitCount) |
| | { |
| | |
| | |
| | Base::UniqueNameManager manager; |
| | manager.addExactName("Body"); |
| | EXPECT_EQ(manager.makeUniqueName("Body", 3), "Body001"); |
| | } |
| |
|
| | TEST(UniqueNameManager, UniqueNameLargerThanAnyName) |
| | { |
| | |
| | |
| | Base::UniqueNameManager manager; |
| | manager.addExactName("Body001"); |
| | EXPECT_EQ(manager.makeUniqueName("Body", 3), "Body002"); |
| | } |
| |
|
| | TEST(UniqueNameManager, Issue18504) |
| | { |
| | |
| | |
| | std::string name; |
| | Base::UniqueNameManager manager; |
| | manager.addExactName("Origin007"); |
| | manager.addExactName("Origin"); |
| | manager.addExactName("Origin008"); |
| | manager.addExactName("Origin010"); |
| | manager.addExactName("Origin011"); |
| | manager.addExactName("Origin013"); |
| | manager.addExactName("Origin016"); |
| |
|
| | name = manager.makeUniqueName("Origin", 3); |
| | manager.addExactName(name); |
| |
|
| | name = manager.makeUniqueName("Origin", 3); |
| | manager.addExactName(name); |
| |
|
| | name = manager.makeUniqueName("Origin", 3); |
| | EXPECT_NE(name, "Origin010"); |
| | } |
| |
|
| | TEST(UniqueNameManager, UniqueNameWithManyDigits) |
| | { |
| | |
| | Base::UniqueNameManager manager; |
| | manager.addExactName("Compound006002002002002"); |
| | EXPECT_EQ(manager.makeUniqueName("Compound", 3), "Compound006002002002003"); |
| | } |
| | TEST(UniqueNameManager, UniqueNameWith9NDigits) |
| | { |
| | |
| | |
| | Base::UniqueNameManager manager; |
| | manager.addExactName("Compound123456789"); |
| | EXPECT_EQ(manager.makeUniqueName("Compound", 3), "Compound123456790"); |
| | } |
| | |
| |
|