This repository has been archived on 2025-02-12. You can view files and clone it, but cannot push or open issues or pull requests.
tinjac/tests/gtest-varstorage_test.cpp

234 lines
9.3 KiB
C++
Raw Permalink Normal View History

2011-01-03 14:57:31 +00:00
/*
* gtest-varstorage_test.cpp
* xBeeHome
*
* Created by Justin Hammond on 11/4/10.
* Copyright 2010 __MyCompanyName__. All rights reserved.
*
*/
#include <gtest/gtest.h>
#include "include/varcontainer.hpp"
#include "src/varcontainer.cpp"
namespace testing {
namespace internal {
namespace {
class VarContainerTest : public testing::Test {
protected:
virtual void SetUp() {
this->Vars = new VarStorage();
this->Vars->addValue("INT", (int)123);
this->Vars->addValue("STRING", (std::string)"String");
this->Vars->addValue("LONG", (long)-1);
this->Vars->addValue("LONGLONG", (long long)-1);
this->Vars->addValue("FLOAT", (float)1.24);
this->Vars->addBValue("BOOL", (bool)true);
this->Vars->addValue("DATE", boost::posix_time::ptime(boost::posix_time::time_from_string("2010-01-10 10:23:23")));
}
VarStorage *Vars;
};
TEST_F(VarContainerTest, ReturnsTrueFor7Items) {
EXPECT_TRUE(Vars->getSize() == 7);
}
TEST_F(VarContainerTest, CheckIntContents) {
int i;
Vars->getValue("INT", i);
EXPECT_EQ(123,i);
}
TEST_F(VarContainerTest, CheckStringContents) {
std::string val;
Vars->getValue("STRING", val);
EXPECT_STREQ("String", val.c_str());
}
TEST_F(VarContainerTest, CheckLongContents) {
long i;
Vars->getValue("LONG", i);
EXPECT_EQ((long)-1, i);
}
TEST_F(VarContainerTest, CheckLongLongContents) {
long long i;
Vars->getValue("LONGLONG", i);
EXPECT_EQ((long long)-1, i);
}
TEST_F(VarContainerTest, CheckFloatContents) {
float i;
Vars->getValue("FLOAT", i);
EXPECT_FLOAT_EQ(1.24, i);
}
TEST_F(VarContainerTest, CheckBoolContents) {
bool i;
Vars->getValue("BOOL", i);
EXPECT_EQ(true, i);
}
TEST_F(VarContainerTest, CheckDateContents) {
boost::posix_time::ptime i;
Vars->getValue("DATE", i);
EXPECT_EQ(boost::posix_time::ptime(boost::posix_time::time_from_string("2010-01-10 10:23:23")), i);
}
TEST_F(VarContainerTest, AddIntValueAndCheck) {
int i = 321;
EXPECT_TRUE(Vars->addValue("INT", i)) << "Adding Int Value Failed";
int j;
EXPECT_TRUE(Vars->getValue("INT", j, 1)) << "Getting 2nd Int Value Failed";
EXPECT_EQ((int)321, j) << "Int Value Didn't Match";
}
TEST_F(VarContainerTest, AddStringValueAndCheck) {
std::string val("Testing213");
EXPECT_TRUE(Vars->addValue("STRING", val)) << "Adding String Value Failed";
std::string val2;
EXPECT_TRUE(Vars->getValue("STRING", val2, 1)) << "Getting 2nd Int Value Failed";
EXPECT_STREQ("Testing213", val.c_str()) << "String Value Didn't Match";
}
TEST_F(VarContainerTest, AddLongValueAndCheck) {
long i = (long)-2;
EXPECT_TRUE(Vars->addValue("LONG", i)) << "Adding Long Value Failed";
long j;
EXPECT_TRUE(Vars->getValue("LONG", j, 1)) << "Getting 2nd Long Value Failed";
EXPECT_EQ((long)-2, j) << "Long Value Didn't Match";
}
TEST_F(VarContainerTest, AddLongLongValueAndCheck) {
long long i = (long long)-2;
EXPECT_TRUE(Vars->addValue("LONGLONG", i)) << "Adding Long Long Value Failed";
long long j;
EXPECT_TRUE(Vars->getValue("LONGLONG", j, 1)) << "Getting 2nd Long Long Value Failed";
EXPECT_EQ((long long)-2, j) << "long long Value Didn't Match";
}
TEST_F(VarContainerTest, AddFloatValueAndCheck) {
float i = 9.32;
EXPECT_TRUE(Vars->addValue("FLOAT", i)) << "Adding float Value Failed";
float j;
EXPECT_TRUE(Vars->getValue("FLOAT", j, 1)) << "Getting 2nd Float Value Failed";
EXPECT_FLOAT_EQ(9.32, j) << "float Value Didn't Match";
}
TEST_F(VarContainerTest, AddBOOLValueAndCheck) {
bool i = false;
EXPECT_TRUE(Vars->addBValue("BOOL", i)) << "Adding Bool Value Failed";
bool j;
EXPECT_TRUE(Vars->getValue("BOOL", j, 1)) << "Getting 2nd Bool Value Failed";
EXPECT_EQ(false, j) << "Bool Value Didn't Match";
}
TEST_F(VarContainerTest, AddDateValueAndCheck) {
boost::posix_time::ptime i(boost::posix_time::time_from_string("2011-04-12 18:54:34"));
EXPECT_TRUE(Vars->addValue("DATE", i));
boost::posix_time::ptime j;
EXPECT_TRUE(Vars->getValue("DATE", j, 1));
EXPECT_EQ(i, j);
}
TEST_F(VarContainerTest, ReplaceIntValueAndCheck) {
int i = 456;
EXPECT_TRUE(Vars->addValue("INT", i)) << "Adding 2nd Value Failed";
int j;
EXPECT_TRUE(Vars->getValue("INT", j, 1)) << "Getting 2nd Value Failed";
EXPECT_EQ(i, j) << "2nd Value didn't match";
i = 789;
EXPECT_TRUE(Vars->replaceValue("INT", i, 1)) << "Replace Failed";
EXPECT_TRUE(Vars->getValue("INT", j, 1)) << "Getting Replaced Value Failed";
EXPECT_EQ(i, j) << "Replacement Value didn't match";
EXPECT_TRUE(Vars->getValue("INT", j, 0)) << "Getting First Value Failed";
EXPECT_EQ(123, j);
}
TEST_F(VarContainerTest, ReplaceStringValueAndCheck) {
std::string val("InitialString");
EXPECT_TRUE(Vars->addValue("STRING", val)) << "Adding 2nd Value Failed";
std::string j;
EXPECT_TRUE(Vars->getValue("STRING", j, 1)) << "Getting 2nd Value Failed";
EXPECT_STREQ(val.c_str(), j.c_str()) << "2nd Value didn't match";
val = "789";
EXPECT_TRUE(Vars->replaceValue("STRING", val, 1)) << "Replace Failed";
EXPECT_TRUE(Vars->getValue("STRING", j, 1)) << "Getting Replaced Value Failed";
EXPECT_STREQ(val.c_str(), j.c_str()) << "Replacement Value didn't match";
EXPECT_TRUE(Vars->getValue("STRING", j, 0)) << "Getting First Value Failed";
EXPECT_STREQ("String", j.c_str());
}
TEST_F(VarContainerTest, ReplaceLongValueAndCheck) {
long i = (long)-456;
EXPECT_TRUE(Vars->addValue("LONG", i)) << "Adding 2nd Value Failed";
long j;
EXPECT_TRUE(Vars->getValue("LONG", j, 1)) << "Getting 2nd Value Failed";
EXPECT_EQ(i, j) << "2nd Value didn't match";
i = (long)-789;
EXPECT_TRUE(Vars->replaceValue("LONG", i, 1)) << "Replace Failed";
EXPECT_TRUE(Vars->getValue("LONG", j, 1)) << "Getting Replaced Value Failed";
EXPECT_EQ(i, j) << "Replacement Value didn't match";
EXPECT_TRUE(Vars->getValue("LONG", j, 0)) << "Getting First Value Failed";
EXPECT_EQ((long)-1, j);
}
TEST_F(VarContainerTest, ReplaceLongLongValueAndCheck) {
long long i = (long long)-325;
EXPECT_TRUE(Vars->addValue("LONGLONG", i)) << "Adding 2nd Value Failed";
long long j;
EXPECT_TRUE(Vars->getValue("LONGLONG", j, 1)) << "Getting 2nd Value Failed";
EXPECT_EQ(i, j) << "2nd Value didn't match";
i = (long long)-729;
EXPECT_TRUE(Vars->replaceValue("LONGLONG", i, 1)) << "Replace Failed";
EXPECT_TRUE(Vars->getValue("LONGLONG", j, 1)) << "Getting Replaced Value Failed";
EXPECT_EQ(i, j) << "Replacement Value didn't match";
EXPECT_TRUE(Vars->getValue("LONGLONG", j, 0)) << "Getting First Value Failed";
EXPECT_EQ((long)-1, j);
}
TEST_F(VarContainerTest, ReplaceFloatValueAndCheck) {
float i = 22.341;
EXPECT_TRUE(Vars->addValue("FLOAT", i)) << "Adding 2nd Value Failed";
float j;
EXPECT_TRUE(Vars->getValue("FLOAT", j, 1)) << "Getting 2nd Value Failed";
EXPECT_FLOAT_EQ(i, j) << "2nd Value didn't match";
i = 11.932;
EXPECT_TRUE(Vars->replaceValue("FLOAT", i, 1)) << "Replace Failed";
EXPECT_TRUE(Vars->getValue("FLOAT", j, 1)) << "Getting Replaced Value Failed";
EXPECT_FLOAT_EQ(i, j) << "Replacement Value didn't match";
EXPECT_TRUE(Vars->getValue("FLOAT", j, 0)) << "Getting First Value Failed";
EXPECT_FLOAT_EQ(1.24, j);
}
TEST_F(VarContainerTest, ReplaceBoolValueAndCheck) {
bool i = true;
EXPECT_TRUE(Vars->addBValue("BOOL", i)) << "Adding 2nd Value Failed";
bool j;
EXPECT_TRUE(Vars->getValue("BOOL", j, 1)) << "Getting 2nd Value Failed";
EXPECT_EQ(i, j) << "2nd Value didn't match";
i = false;
EXPECT_TRUE(Vars->replaceBValue("BOOL", i, 1)) << "Replace Failed";
EXPECT_TRUE(Vars->getValue("BOOL", j, 1)) << "Getting Replaced Value Failed";
EXPECT_EQ(i, j) << "Replacement Value didn't match";
EXPECT_TRUE(Vars->getValue("BOOL", j, 0)) << "Getting First Value Failed";
EXPECT_EQ(true, j);
}
TEST_F(VarContainerTest, ReplaceDateValueAndCheck) {
boost::posix_time::ptime i(boost::posix_time::time_from_string("2011-04-12 18:54:34"));
EXPECT_TRUE(Vars->addValue("DATE", i));
boost::posix_time::ptime j;
EXPECT_TRUE(Vars->getValue("DATE", j, 1));
EXPECT_EQ(i, j);
i = boost::posix_time::time_from_string("2012-12-12 23:59:59");
EXPECT_TRUE(Vars->replaceValue("DATE", i, 1));
EXPECT_TRUE(Vars->getValue("DATE", j, 1));
EXPECT_EQ(i, j);
EXPECT_TRUE(Vars->getValue("DATE", j, 0));
EXPECT_EQ(boost::posix_time::time_from_string("2010-01-10 10:23:23"), j);
}
TEST_F(VarContainerTest, AddInvalidTypeToContainer) {
std::string val("invalid");
EXPECT_EQ(-1, Vars->addValue("INT", val));
EXPECT_EQ(-1, Vars->addValue("LONG", val));
EXPECT_EQ(-1, Vars->addValue("LONGLONG", val));
EXPECT_EQ(-1, Vars->addValue("FLOAT", val));
EXPECT_EQ(-1, Vars->addValue("BOOL", val));
EXPECT_EQ(-1, Vars->addValue("DATE", val));
long i = (long)-432;
EXPECT_EQ(-1, Vars->addValue("STRING", i));
EXPECT_EQ(-1, Vars->addValue("INT", i));
EXPECT_EQ(-1, Vars->addValue("LONGLONG", i));
EXPECT_EQ(-1, Vars->addValue("FLOAT", i));
EXPECT_EQ(-1, Vars->addValue("BOOL", i));
EXPECT_EQ(-1, Vars->addValue("DATE", i));
}
} // namespace
} // namespace internal
} // namespace testing