Skip to content

Commit 7bf07dc

Browse files
authored
Simplify logic around std::optional<bool> (#557)
1 parent fb8de4e commit 7bf07dc

File tree

1 file changed

+43
-84
lines changed

1 file changed

+43
-84
lines changed

test/RWOutputTest.cpp

Lines changed: 43 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include <fstream>
22
#include <memory>
3+
#include <optional>
34

45
#include "CXXGraph/CXXGraph.hpp"
56
#include "CXXGraph/Utility/SecureRandom.hpp"
@@ -249,8 +250,7 @@ TEST(RWOutputTest, test_8) {
249250

250251
for (const auto &readEdgeIt : readEdge) {
251252
if (readEdgeIt->getUserId() == "1") {
252-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
253-
readEdgeIt->isDirected().value());
253+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
254254
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
255255
node1.getUserId());
256256
// ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node1.getData());
@@ -259,8 +259,7 @@ TEST(RWOutputTest, test_8) {
259259
// ASSERT_EQ(readEdgeIt->getNodePair().second->getData(),
260260
// node2.getData());
261261
} else if (readEdgeIt->getUserId() == "2") {
262-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
263-
readEdgeIt->isDirected().value());
262+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
264263
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
265264
node2.getUserId());
266265
// ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node2.getData());
@@ -269,8 +268,7 @@ TEST(RWOutputTest, test_8) {
269268
// ASSERT_EQ(readEdgeIt->getNodePair().second->getData(),
270269
// node3.getData());
271270
} else if (readEdgeIt->getUserId() == "3") {
272-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
273-
!readEdgeIt->isDirected().value());
271+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{false});
274272
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
275273
node1.getUserId());
276274
// ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node1.getData());
@@ -318,26 +316,23 @@ TEST(RWOutputTest, test_9) {
318316

319317
for (const auto &readEdgeIt : readEdge) {
320318
if (readEdgeIt->getId() == edge1.getId()) {
321-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
322-
readEdgeIt->isDirected().value());
319+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
323320
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
324321
node1.getUserId());
325322
ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node1.getData());
326323
ASSERT_EQ(readEdgeIt->getNodePair().second->getUserId(),
327324
node2.getUserId());
328325
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node2.getData());
329326
} else if (readEdgeIt->getId() == edge2.getId()) {
330-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
331-
readEdgeIt->isDirected().value());
327+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
332328
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
333329
node2.getUserId());
334330
ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node2.getData());
335331
ASSERT_EQ(readEdgeIt->getNodePair().second->getUserId(),
336332
node3.getUserId());
337333
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node3.getData());
338334
} else if (readEdgeIt->getId() == edge3.getId()) {
339-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
340-
!readEdgeIt->isDirected().value());
335+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{false});
341336
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
342337
node1.getUserId());
343338
ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node1.getData());
@@ -386,10 +381,8 @@ TEST(RWOutputTest, test_10) {
386381

387382
for (const auto &readEdgeIt : readEdge) {
388383
if (readEdgeIt->getId() == edge1.getId()) {
389-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
390-
readEdgeIt->isDirected().value());
391-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
392-
readEdgeIt->isWeighted().value());
384+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
385+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{true});
393386
ASSERT_EQ((dynamic_cast<const CXXGraph::Weighted *>(readEdgeIt.get()))
394387
->getWeight(),
395388
5);
@@ -400,21 +393,17 @@ TEST(RWOutputTest, test_10) {
400393
node2.getUserId());
401394
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node2.getData());
402395
} else if (readEdgeIt->getId() == edge2.getId()) {
403-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
404-
readEdgeIt->isDirected().value());
405-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
406-
!readEdgeIt->isWeighted().value());
396+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
397+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{false});
407398
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
408399
node2.getUserId());
409400
ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node2.getData());
410401
ASSERT_EQ(readEdgeIt->getNodePair().second->getUserId(),
411402
node3.getUserId());
412403
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node3.getData());
413404
} else if (readEdgeIt->getId() == edge3.getId()) {
414-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
415-
!readEdgeIt->isDirected().value());
416-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
417-
readEdgeIt->isWeighted().value());
405+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{false});
406+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{true});
418407
ASSERT_EQ((dynamic_cast<const CXXGraph::Weighted *>(readEdgeIt.get()))
419408
->getWeight(),
420409
6);
@@ -632,8 +621,7 @@ TEST(RWOutputTest, test_18) {
632621

633622
for (const auto &readEdgeIt : readEdge) {
634623
if (readEdgeIt->getId() == edge1.getId()) {
635-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
636-
readEdgeIt->isDirected().value());
624+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
637625
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
638626
node1.getUserId());
639627
// ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node1.getData());
@@ -642,8 +630,7 @@ TEST(RWOutputTest, test_18) {
642630
// ASSERT_EQ(readEdgeIt->getNodePair().second->getData(),
643631
// node2.getData());
644632
} else if (readEdgeIt->getId() == edge2.getId()) {
645-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
646-
readEdgeIt->isDirected().value());
633+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
647634
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
648635
node2.getUserId());
649636
// ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node2.getData());
@@ -652,8 +639,7 @@ TEST(RWOutputTest, test_18) {
652639
// ASSERT_EQ(readEdgeIt->getNodePair().second->getData(),
653640
// node3.getData());
654641
} else if (readEdgeIt->getId() == edge3.getId()) {
655-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
656-
!readEdgeIt->isDirected().value());
642+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{false});
657643
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
658644
node1.getUserId());
659645
// ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node1.getData());
@@ -701,26 +687,23 @@ TEST(RWOutputTest, test_19) {
701687

702688
for (const auto &readEdgeIt : readEdge) {
703689
if (readEdgeIt->getId() == edge1.getId()) {
704-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
705-
readEdgeIt->isDirected().value());
690+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
706691
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
707692
node1.getUserId());
708693
ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node1.getData());
709694
ASSERT_EQ(readEdgeIt->getNodePair().second->getUserId(),
710695
node2.getUserId());
711696
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node2.getData());
712697
} else if (readEdgeIt->getId() == edge2.getId()) {
713-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
714-
readEdgeIt->isDirected().value());
698+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
715699
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
716700
node2.getUserId());
717701
ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node2.getData());
718702
ASSERT_EQ(readEdgeIt->getNodePair().second->getUserId(),
719703
node3.getUserId());
720704
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node3.getData());
721705
} else if (readEdgeIt->getId() == edge3.getId()) {
722-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
723-
!readEdgeIt->isDirected().value());
706+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{false});
724707
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
725708
node1.getUserId());
726709
ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node1.getData());
@@ -769,10 +752,8 @@ TEST(RWOutputTest, test_20) {
769752

770753
for (const auto &readEdgeIt : readEdge) {
771754
if (readEdgeIt->getId() == edge1.getId()) {
772-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
773-
readEdgeIt->isDirected().value());
774-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
775-
readEdgeIt->isWeighted().value());
755+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
756+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{true});
776757
ASSERT_EQ((dynamic_cast<const CXXGraph::Weighted *>(readEdgeIt.get()))
777758
->getWeight(),
778759
5);
@@ -783,21 +764,17 @@ TEST(RWOutputTest, test_20) {
783764
node2.getUserId());
784765
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node2.getData());
785766
} else if (readEdgeIt->getId() == edge2.getId()) {
786-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
787-
readEdgeIt->isDirected().value());
788-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
789-
!readEdgeIt->isWeighted().value());
767+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
768+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{false});
790769
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
791770
node2.getUserId());
792771
ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node2.getData());
793772
ASSERT_EQ(readEdgeIt->getNodePair().second->getUserId(),
794773
node3.getUserId());
795774
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node3.getData());
796775
} else if (readEdgeIt->getId() == edge3.getId()) {
797-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
798-
!readEdgeIt->isDirected().value());
799-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
800-
readEdgeIt->isWeighted().value());
776+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{false});
777+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{true});
801778
ASSERT_EQ((dynamic_cast<const CXXGraph::Weighted *>(readEdgeIt.get()))
802779
->getWeight(),
803780
6);
@@ -882,10 +859,8 @@ TEST(RWOutputTest, test_22) {
882859

883860
for (const auto &readEdgeIt : readEdge) {
884861
if (readEdgeIt->getId() == edge1.getId()) {
885-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
886-
readEdgeIt->isDirected().value());
887-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
888-
readEdgeIt->isWeighted().value());
862+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
863+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{true});
889864
ASSERT_EQ((dynamic_cast<const CXXGraph::Weighted *>(readEdgeIt.get()))
890865
->getWeight(),
891866
5);
@@ -896,21 +871,17 @@ TEST(RWOutputTest, test_22) {
896871
node2.getUserId());
897872
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node2.getData());
898873
} else if (readEdgeIt->getId() == edge2.getId()) {
899-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
900-
readEdgeIt->isDirected().value());
901-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
902-
!readEdgeIt->isWeighted().value());
874+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
875+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{false});
903876
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
904877
node2.getUserId());
905878
ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node2.getData());
906879
ASSERT_EQ(readEdgeIt->getNodePair().second->getUserId(),
907880
node3.getUserId());
908881
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node3.getData());
909882
} else if (readEdgeIt->getId() == edge3.getId()) {
910-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
911-
!readEdgeIt->isDirected().value());
912-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
913-
readEdgeIt->isWeighted().value());
883+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{false});
884+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{true});
914885
ASSERT_EQ((dynamic_cast<const CXXGraph::Weighted *>(readEdgeIt.get()))
915886
->getWeight(),
916887
6);
@@ -1022,10 +993,8 @@ TEST(RWOutputTest, test_25) {
1022993

1023994
for (const auto &readEdgeIt : readEdge) {
1024995
if (readEdgeIt->getId() == edge1.getId()) {
1025-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
1026-
readEdgeIt->isDirected().value());
1027-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
1028-
readEdgeIt->isWeighted().value());
996+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
997+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{true});
1029998
ASSERT_EQ((dynamic_cast<const CXXGraph::Weighted *>(readEdgeIt.get()))
1030999
->getWeight(),
10311000
5);
@@ -1036,21 +1005,17 @@ TEST(RWOutputTest, test_25) {
10361005
node2.getUserId());
10371006
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node2.getData());
10381007
} else if (readEdgeIt->getId() == edge2.getId()) {
1039-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
1040-
readEdgeIt->isDirected().value());
1041-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
1042-
!readEdgeIt->isWeighted().value());
1008+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
1009+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{false});
10431010
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
10441011
node2.getUserId());
10451012
ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node2.getData());
10461013
ASSERT_EQ(readEdgeIt->getNodePair().second->getUserId(),
10471014
node3.getUserId());
10481015
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node3.getData());
10491016
} else if (readEdgeIt->getId() == edge3.getId()) {
1050-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
1051-
!readEdgeIt->isDirected().value());
1052-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
1053-
readEdgeIt->isWeighted().value());
1017+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{false});
1018+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{true});
10541019
ASSERT_EQ((dynamic_cast<const CXXGraph::Weighted *>(readEdgeIt.get()))
10551020
->getWeight(),
10561021
6);
@@ -1189,10 +1154,8 @@ TEST(RWOutputTest, test_29) {
11891154

11901155
for (const auto &readEdgeIt : readEdge) {
11911156
if (readEdgeIt->getId() == edge1.getId()) {
1192-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
1193-
readEdgeIt->isDirected().value());
1194-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
1195-
readEdgeIt->isWeighted().value());
1157+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
1158+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{true});
11961159
ASSERT_EQ((dynamic_cast<const CXXGraph::Weighted *>(readEdgeIt.get()))
11971160
->getWeight(),
11981161
5);
@@ -1203,21 +1166,17 @@ TEST(RWOutputTest, test_29) {
12031166
node2.getUserId());
12041167
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node2.getData());
12051168
} else if (readEdgeIt->getId() == edge2.getId()) {
1206-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
1207-
readEdgeIt->isDirected().value());
1208-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
1209-
!readEdgeIt->isWeighted().value());
1169+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{true});
1170+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{false});
12101171
ASSERT_EQ(readEdgeIt->getNodePair().first->getUserId(),
12111172
node2.getUserId());
12121173
ASSERT_EQ(readEdgeIt->getNodePair().first->getData(), node2.getData());
12131174
ASSERT_EQ(readEdgeIt->getNodePair().second->getUserId(),
12141175
node3.getUserId());
12151176
ASSERT_EQ(readEdgeIt->getNodePair().second->getData(), node3.getData());
12161177
} else if (readEdgeIt->getId() == edge3.getId()) {
1217-
ASSERT_TRUE(readEdgeIt->isDirected().has_value() &&
1218-
!readEdgeIt->isDirected().value());
1219-
ASSERT_TRUE(readEdgeIt->isWeighted().has_value() &&
1220-
readEdgeIt->isWeighted().value());
1178+
ASSERT_EQ(readEdgeIt->isDirected(), std::optional<bool>{false});
1179+
ASSERT_EQ(readEdgeIt->isWeighted(), std::optional<bool>{true});
12211180
ASSERT_EQ((dynamic_cast<const CXXGraph::Weighted *>(readEdgeIt.get()))
12221181
->getWeight(),
12231182
6);

0 commit comments

Comments
 (0)