rewritten some of the parametric test cases to use std::string
This commit is contained in:
parent
a9307e5657
commit
3149e1a653
41
test.cpp
41
test.cpp
@ -3,6 +3,7 @@
|
|||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
|
#include <string>
|
||||||
#include "String.h"
|
#include "String.h"
|
||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
@ -10,11 +11,11 @@
|
|||||||
///////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////
|
||||||
/// Testing helper classes ///
|
/// Testing helper classes ///
|
||||||
///////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////
|
||||||
using str3 = std::tuple<const char*, const char*, const char*>;
|
using str3 = std::tuple<std::string, std::string, std::string>;
|
||||||
class addStringTest : public ::testing::TestWithParam<str3>
|
class addStringTest : public ::testing::TestWithParam<str3>
|
||||||
{};
|
{};
|
||||||
|
|
||||||
using strcharstr = std::tuple<const char*, char, const char*>;
|
using strcharstr = std::tuple<std::string, char, std::string>;
|
||||||
class addCharStringTest : public ::testing::TestWithParam<strcharstr>
|
class addCharStringTest : public ::testing::TestWithParam<strcharstr>
|
||||||
{};
|
{};
|
||||||
|
|
||||||
@ -23,7 +24,7 @@ struct StreamStringTest : public ::testing::Test
|
|||||||
std::stringstream _stream;
|
std::stringstream _stream;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SingleParamStringTest : public ::testing::TestWithParam<std::tuple<const char*>> {};
|
class SingleParamStringTest : public ::testing::TestWithParam<std::string> {};
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////
|
||||||
/// Testing data ///
|
/// Testing data ///
|
||||||
@ -46,14 +47,8 @@ static const std::vector<strcharstr> testvalues2 =
|
|||||||
std::make_tuple("te", 'j', "tej")
|
std::make_tuple("te", 'j', "tej")
|
||||||
};
|
};
|
||||||
|
|
||||||
static const std::vector<std::tuple<const char*>> testvalues3 =
|
static const std::vector<std::string> testvalues3 =
|
||||||
{
|
{ "cica", "sajt", "sör", "C++11", "suchInitializerList" };
|
||||||
std::make_tuple("cica"),
|
|
||||||
std::make_tuple("sajt"),
|
|
||||||
std::make_tuple("sör"),
|
|
||||||
std::make_tuple("C++11"),
|
|
||||||
std::make_tuple("suchInitializerList")
|
|
||||||
};
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////
|
||||||
/// Tests ///
|
/// Tests ///
|
||||||
@ -107,42 +102,42 @@ TEST(StringTest, uninitializedStringcStrThrows)
|
|||||||
|
|
||||||
TEST_P(addStringTest, addable)
|
TEST_P(addStringTest, addable)
|
||||||
{
|
{
|
||||||
String str1(std::get<0>(GetParam()));
|
String str1(std::get<0>(GetParam()).c_str());
|
||||||
String str2(std::get<1>(GetParam()));
|
String str2(std::get<1>(GetParam()).c_str());
|
||||||
|
|
||||||
EXPECT_STREQ(std::get<2>(GetParam()), (str1+str2).c_str());
|
EXPECT_STREQ(std::get<2>(GetParam()).c_str(), (str1+str2).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(addStringTest, plusEqualsable)
|
TEST_P(addStringTest, plusEqualsable)
|
||||||
{
|
{
|
||||||
String str1(std::get<0>(GetParam()));
|
String str1(std::get<0>(GetParam()).c_str());
|
||||||
String str2(std::get<1>(GetParam()));
|
String str2(std::get<1>(GetParam()).c_str());
|
||||||
str1 += str2;
|
str1 += str2;
|
||||||
|
|
||||||
EXPECT_STREQ(std::get<2>(GetParam()), str1.c_str());
|
EXPECT_STREQ(std::get<2>(GetParam()).c_str(), str1.c_str());
|
||||||
}
|
}
|
||||||
INSTANTIATE_TEST_CASE_P(testGroup1, addStringTest, ::testing::ValuesIn(testvalues1));
|
INSTANTIATE_TEST_CASE_P(testGroup1, addStringTest, ::testing::ValuesIn(testvalues1));
|
||||||
|
|
||||||
TEST_P(addCharStringTest, addCharable)
|
TEST_P(addCharStringTest, addCharable)
|
||||||
{
|
{
|
||||||
String str(std::get<0>(GetParam()));
|
String str(std::get<0>(GetParam()).c_str());
|
||||||
|
|
||||||
EXPECT_STREQ(std::get<2>(GetParam()), (str+std::get<1>(GetParam())).c_str());
|
EXPECT_STREQ(std::get<2>(GetParam()).c_str(), (str+std::get<1>(GetParam())).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(addCharStringTest, plusEqualsCharable)
|
TEST_P(addCharStringTest, plusEqualsCharable)
|
||||||
{
|
{
|
||||||
String str(std::get<0>(GetParam()));
|
String str(std::get<0>(GetParam()).c_str());
|
||||||
str+=std::get<1>(GetParam());
|
str+=std::get<1>(GetParam());
|
||||||
|
|
||||||
EXPECT_STREQ(std::get<2>(GetParam()), str.c_str());
|
EXPECT_STREQ(std::get<2>(GetParam()).c_str(), str.c_str());
|
||||||
}
|
}
|
||||||
INSTANTIATE_TEST_CASE_P(testGroup1, addCharStringTest, ::testing::ValuesIn(testvalues2));
|
INSTANTIATE_TEST_CASE_P(testGroup1, addCharStringTest, ::testing::ValuesIn(testvalues2));
|
||||||
|
|
||||||
TEST_P(SingleParamStringTest, comparable)
|
TEST_P(SingleParamStringTest, comparable)
|
||||||
{
|
{
|
||||||
String str1(std::get<0>(GetParam()));
|
String str1(GetParam().c_str());
|
||||||
String str2(std::get<0>(GetParam()));
|
String str2(GetParam().c_str());
|
||||||
|
|
||||||
EXPECT_EQ(str1, str2);
|
EXPECT_EQ(str1, str2);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user