TEST( libstdhl_cpp_SourceLocation, empty ) { SourceLocation location; EXPECT_EQ( location.begin.line, 1 ); EXPECT_EQ( location.begin.column, 1 ); EXPECT_EQ( location.begin.fileName, nullptr ); EXPECT_EQ( location.begin.fileName, location.fileName() ); EXPECT_EQ( location.end.line, location.begin.line ); EXPECT_EQ( location.end.column, location.begin.column ); EXPECT_EQ( location.end.fileName, location.begin.fileName ); EXPECT_EQ( location.end.fileName, location.fileName() ); EXPECT_FALSE( location != SourceLocation() ); location = location + 10; location = location - 10; EXPECT_TRUE( location == SourceLocation() ); SourceLocation tmp; location += tmp; EXPECT_TRUE( location == SourceLocation() + tmp ); EXPECT_THROW( location.read(), std::domain_error ); }