ResultTests.cpp (1999B)
1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the MIT License. 3 4 #include "sfsclient/Result.h" 5 6 #include <catch2/catch_test_macros.hpp> 7 8 #define TEST(...) TEST_CASE("[ResultTests] " __VA_ARGS__) 9 10 using namespace SFS; 11 12 TEST("Testing Result() class methods") 13 { 14 SECTION("Default constructor") 15 { 16 Result resultSuccess(Result::Code::Success); 17 18 REQUIRE(resultSuccess.GetCode() == Result::Code::Success); 19 REQUIRE(resultSuccess.GetMsg().empty()); 20 REQUIRE(resultSuccess.IsSuccess()); 21 REQUIRE_FALSE(resultSuccess.IsFailure()); 22 23 INFO("Comparison operators"); 24 REQUIRE(resultSuccess == Result::Code::Success); 25 REQUIRE(resultSuccess == Result::Success); 26 REQUIRE(resultSuccess != Result::Code::NotSet); 27 REQUIRE(resultSuccess != Result::NotSet); 28 REQUIRE_FALSE(resultSuccess == Result::NotSet); 29 30 INFO("bool operator"); 31 REQUIRE(resultSuccess); 32 } 33 34 SECTION("Constructor with message") 35 { 36 Result resultUnexpected(Result::Code::Unexpected, "message"); 37 REQUIRE(resultUnexpected.GetCode() == Result::Code::Unexpected); 38 REQUIRE(resultUnexpected.GetMsg() == "message"); 39 REQUIRE_FALSE(resultUnexpected.IsSuccess()); 40 REQUIRE(resultUnexpected.IsFailure()); 41 42 INFO("Comparison operators on constructor with message"); 43 REQUIRE(resultUnexpected == Result::Code::Unexpected); 44 REQUIRE(resultUnexpected != Result::Code::NotSet); 45 46 INFO("bool operator"); 47 REQUIRE_FALSE(resultUnexpected); 48 } 49 } 50 51 TEST("Testing ToString(Result)") 52 { 53 REQUIRE(SFS::ToString(Result::Code::Success) == "Success"); 54 REQUIRE(SFS::ToString(Result::Code::NotImpl) == "NotImpl"); 55 REQUIRE(SFS::ToString(Result::Code::NotSet) == "NotSet"); 56 REQUIRE(SFS::ToString(Result::Code::OutOfMemory) == "OutOfMemory"); 57 REQUIRE(SFS::ToString(Result::Code::Unexpected) == "Unexpected"); 58 }