text: #include "gtest/gtest.h"
  
  #include "HttpStatusCodes_C++.h"
  #include "CategoryTesterTest.h"
  
  namespace CppVariantTests
  {
  
  //####### Enum Test #######
  TEST(EnumTest, testEnumValues)
  {
  	ASSERT_EQ(HttpStatus::OK,                  200);
  	ASSERT_EQ(HttpStatus::NotFound,            404);
  	ASSERT_EQ(HttpStatus::InternalServerError, 500);
  }
  
  
  //####### Reason Phrase Test #######
  TEST(ReasonPhraseTest, testEnumParameter)
  {
  	ASSERT_EQ(HttpStatus::reasonPhrase(HttpStatus::OK),                  std::string("OK"));
  	ASSERT_EQ(HttpStatus::reasonPhrase(HttpStatus::NotFound),            std::string("Not Found"));
  	ASSERT_EQ(HttpStatus::reasonPhrase(HttpStatus::InternalServerError), std::string("Internal Server Error"));
  }
  
  TEST(ReasonPhraseTest, testIntegerParameter)
  {
  	ASSERT_EQ(HttpStatus::reasonPhrase(static_cast<int>(HttpStatus::Created)),        std::string("Created"));
  	ASSERT_EQ(HttpStatus::reasonPhrase(static_cast<int>(HttpStatus::Unauthorized)),   std::string("Unauthorized"));
  	ASSERT_EQ(HttpStatus::reasonPhrase(static_cast<int>(HttpStatus::GatewayTimeout)), std::string("Gateway Time-out"));
  }
  
  
  //####### Category Tester Test #######
  INSTANTIATE_TEST_CASE_P(DefaultInstance, CategoryTesterTest, ::testing::Values(
  //                   // code                          // info // success // redir // clientErr // serverErr // error
  CategoryTesterParams(HttpStatus::SwitchingProtocols,  true,   false,     false,   false,       false,       false),
  CategoryTesterParams(HttpStatus::NoContent,           false,  true,      false,   false,       false,       false),
  CategoryTesterParams(HttpStatus::SeeOther,            false,  false,     true,    false,       false,       false),
  CategoryTesterParams(HttpStatus::Forbidden,           false,  false,     false,   true,        false,       true),
  CategoryTesterParams(HttpStatus::NotImplemented,      false,  false,     false,   false,       true,        true)
  ));
  
  
  
  } // namespace CppVariantTests
  