TEST(FailureDemo, UseOperatorLtDemo) {
int myArray[100];
for (int i = 0; i < 100; ++i) myArray[i] = i * 2;
myArray[50] = 500;
for (int i = 0; i < 100; ++i) {
ASSERT_EQ(i * 2, myArray[i]) <<
"i = " << i <<
", myArray[" << i <<
"] is wrong.";
}
}
struct MyStruct {
float x;
float y;
float z;
public:
bool operator==(
const MyStruct& rhs)
const {
return x == rhs.x && y == rhs.y && z == rhs.z; }
};
str << "{ x = " << data.x << ", y = " << data.y << ", z = " << data.z << " }";
return str;
}
TEST(FailureDemo, DefineOperatorLtDemo) {
MyStruct vec1 = {1.f, 2.f, 3.f};
MyStruct vec2 = {2.f, 3.f, 4.f};
}
TEST(FailureDemo, FloatingPointError1) {
double p = 0.1;
double q = 0.2;
}
TEST(FailureDemo, FloatingPointError2) {
double p = 0.1;
double q = 0.2;
}
static void Subroutine(
int i) {
ASSERT_LT(i, 100); }
TEST(FailureDemo, FailureInSubroutine1) {
for (int i = 0; i <= 100; ++i) {
SCOPED_TRACE(::testing::Message() <<
"FailureInSubroutine1(idx = " << i <<
")");
Subroutine(i);
}
}
TEST(FailureDemo, FailureInSubroutine2) {
for (int i = 0; i < 100; ++i) {
Subroutine(i);
}
}
NLIB_PATHMAPPER_FORSAMPLE
bool SampleMain(int argc, char** argv) {
InitPathMapperForSample();
char path[512];
char buf[512];
size_t count;
g_pathmapper.ResolvePath(&count, path, "nlibpath:///readwrite/failure.xml");
::testing::GTEST_FLAG(output) = buf;
}
NLIB_MAINFUNC