Ejemplo n.º 1
0
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 );
}