summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test_hash_map.cpp97
-rw-r--r--test/test_vector.cpp2
2 files changed, 42 insertions, 57 deletions
diff --git a/test/test_hash_map.cpp b/test/test_hash_map.cpp
index 00c4693..aa0ba49 100644
--- a/test/test_hash_map.cpp
+++ b/test/test_hash_map.cpp
@@ -24,21 +24,39 @@
namespace fud {
+Vector<String> testStrings()
+{
+ Vector<String> stringList{Vector<String>::withCapacity(9).takeOkay()};
+ fudAssert(stringList.pushBack(String::makeFromCString("foo").takeOkay()) == FudStatus::Success);
+ fudAssert(stringList.pushBack(String::makeFromCString("bar").takeOkay()) == FudStatus::Success);
+ fudAssert(stringList.pushBack(String::makeFromCString("baz").takeOkay()) == FudStatus::Success);
+ fudAssert(stringList.pushBack(String::makeFromCString("qux").takeOkay()) == FudStatus::Success);
+ fudAssert(stringList.pushBack(String::makeFromCString("Tom").takeOkay()) == FudStatus::Success);
+ fudAssert(stringList.pushBack(String::makeFromCString("Dick").takeOkay()) == FudStatus::Success);
+ fudAssert(stringList.pushBack(String::makeFromCString("Harry").takeOkay()) == FudStatus::Success);
+ fudAssert(stringList.pushBack(String::makeFromCString("Alice").takeOkay()) == FudStatus::Success);
+ fudAssert(stringList.pushBack(String::makeFromCString("Bob").takeOkay()) == FudStatus::Success);
+ return stringList;
+}
+
+Vector<StringView> testStringViews()
+{
+ Vector<StringView> stringList{Vector<StringView>::withCapacity(9).takeOkay()};
+ fudAssert(stringList.pushBack(StringView::makeFromCString("foo")) == FudStatus::Success);
+ fudAssert(stringList.pushBack(StringView::makeFromCString("bar")) == FudStatus::Success);
+ fudAssert(stringList.pushBack(StringView::makeFromCString("baz")) == FudStatus::Success);
+ fudAssert(stringList.pushBack(StringView::makeFromCString("qux")) == FudStatus::Success);
+ fudAssert(stringList.pushBack(StringView::makeFromCString("Tom")) == FudStatus::Success);
+ fudAssert(stringList.pushBack(StringView::makeFromCString("Dick")) == FudStatus::Success);
+ fudAssert(stringList.pushBack(StringView::makeFromCString("Harry")) == FudStatus::Success);
+ fudAssert(stringList.pushBack(StringView::makeFromCString("Alice")) == FudStatus::Success);
+ fudAssert(stringList.pushBack(StringView::makeFromCString("Bob")) == FudStatus::Success);
+ return stringList;
+}
+
TEST(FudHash, InsertMoveKeyMoveValue)
{
- auto stringList{
- Vector<String>::from(
- NullOpt,
- String::makeFromCString("foo").takeOkay(),
- String::makeFromCString("bar").takeOkay(),
- String::makeFromCString("baz").takeOkay(),
- String::makeFromCString("qux").takeOkay(),
- String::makeFromCString("Tom").takeOkay(),
- String::makeFromCString("Dick").takeOkay(),
- String::makeFromCString("Harry").takeOkay(),
- String::makeFromCString("Alice").takeOkay(),
- String::makeFromCString("Bob").takeOkay())
- .takeOkay()};
+ auto stringList{testStrings()};
HashMap<int, String> mapInt2String{};
for (int index = 0; index < static_cast<int>(stringList.size()); ++index) {
auto insertStatus = mapInt2String.insert(index * 1, String::from(stringList[index]).takeOkay());
@@ -55,19 +73,7 @@ TEST(FudHash, InsertMoveKeyMoveValue)
TEST(FudHash, InsertMoveKeyCopyValue)
{
- auto stringList{
- Vector<String>::from(
- NullOpt,
- String::makeFromCString("foo").takeOkay(),
- String::makeFromCString("bar").takeOkay(),
- String::makeFromCString("baz").takeOkay(),
- String::makeFromCString("qux").takeOkay(),
- String::makeFromCString("Tom").takeOkay(),
- String::makeFromCString("Dick").takeOkay(),
- String::makeFromCString("Harry").takeOkay(),
- String::makeFromCString("Alice").takeOkay(),
- String::makeFromCString("Bob").takeOkay())
- .takeOkay()};
+ auto stringList{testStrings()};
HashMap<String, int> mapString2Int{};
for (int index = 0; index < static_cast<int>(stringList.size()); ++index) {
auto insertStatus = mapString2Int.insert(String::from(stringList[index]).takeOkay(), index * 1);
@@ -85,19 +91,7 @@ TEST(FudHash, InsertMoveKeyCopyValue)
TEST(FudHash, InsertCopyKeyMoveValue)
{
- auto stringList{
- Vector<String>::from(
- NullOpt,
- String::makeFromCString("foo").takeOkay(),
- String::makeFromCString("bar").takeOkay(),
- String::makeFromCString("baz").takeOkay(),
- String::makeFromCString("qux").takeOkay(),
- String::makeFromCString("Tom").takeOkay(),
- String::makeFromCString("Dick").takeOkay(),
- String::makeFromCString("Harry").takeOkay(),
- String::makeFromCString("Alice").takeOkay(),
- String::makeFromCString("Bob").takeOkay())
- .takeOkay()};
+ auto stringList{testStrings()};
HashMap<int, String> mapInt2String{};
for (int index = 0; index < static_cast<int>(stringList.size()); ++index) {
auto insertStatus = mapInt2String.insert(index, String::from(stringList[index]).takeOkay());
@@ -115,31 +109,20 @@ TEST(FudHash, InsertCopyKeyMoveValue)
TEST(FudHash, InsertCopyKeyCopyValue)
{
- auto stringList{
- Vector<StringView>::from(
- NullOpt,
- StringView::makeFromCString("foo"),
- StringView::makeFromCString("bar"),
- StringView::makeFromCString("baz"),
- StringView::makeFromCString("qux"),
- StringView::makeFromCString("Tom"),
- StringView::makeFromCString("Dick"),
- StringView::makeFromCString("Harry"),
- StringView::makeFromCString("Alice"),
- StringView::makeFromCString("Bob"))
- .takeOkay()};
+ auto stringViewList{testStringViews()};
+
HashMap<StringView, int> mapView2Int{};
- for (int index = 0; index < static_cast<int>(stringList.size()); ++index) {
- auto insertStatus = mapView2Int.insert(stringList[index], index);
+ for (int index = 0; index < static_cast<int>(stringViewList.size()); ++index) {
+ auto insertStatus = mapView2Int.insert(stringViewList[index], index);
EXPECT_EQ(insertStatus, FudStatus::Success);
}
- EXPECT_EQ(mapView2Int.size(), stringList.size());
+ EXPECT_EQ(mapView2Int.size(), stringViewList.size());
EXPECT_GT(mapView2Int.capacity(), mapView2Int.size());
- for (int index = 0; index < static_cast<int>(stringList.size()); ++index) {
+ for (int index = 0; index < static_cast<int>(stringViewList.size()); ++index) {
const int invalid = -1;
- EXPECT_EQ(mapView2Int.getConstRef(stringList[index]).valueOr(invalid), index);
+ EXPECT_EQ(mapView2Int.getConstRef(stringViewList[index]).valueOr(invalid), index);
}
}
diff --git a/test/test_vector.cpp b/test/test_vector.cpp
index 3f4e584..ba15085 100644
--- a/test/test_vector.cpp
+++ b/test/test_vector.cpp
@@ -188,6 +188,7 @@ TEST(VectorTest, NestedVector)
// Result<Vector<Vector<FallibleObject>>, FudStatus>
}
+/*
TEST(VectorTest, WithElements)
{
auto vectorResult{Vector<int>::from(NullOpt, 1, 2, 3, 42, -100)};
@@ -200,5 +201,6 @@ TEST(VectorTest, WithElements)
ASSERT_EQ(intVector[3], 42);
ASSERT_EQ(intVector[4], -100);
}
+*/
} // namespace fud