48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
|
|
||
|
#include "gtest/gtest.h"
|
||
|
|
||
|
#include "bolt/Text.hpp"
|
||
|
|
||
|
using namespace bolt;
|
||
|
|
||
|
TEST(TextFileTest, ReportsCorrectLine) {
|
||
|
TextFile T1 { "foo.txt", "bar\nbaz\nbax\n" };
|
||
|
ASSERT_EQ(T1.getLine(0), 1);
|
||
|
ASSERT_EQ(T1.getLine(1), 1);
|
||
|
ASSERT_EQ(T1.getLine(2), 1);
|
||
|
ASSERT_EQ(T1.getLine(3), 1);
|
||
|
ASSERT_EQ(T1.getLine(4), 2);
|
||
|
ASSERT_EQ(T1.getLine(5), 2);
|
||
|
ASSERT_EQ(T1.getLine(6), 2);
|
||
|
ASSERT_EQ(T1.getLine(7), 2);
|
||
|
ASSERT_EQ(T1.getLine(8), 3);
|
||
|
ASSERT_EQ(T1.getLine(9), 3);
|
||
|
ASSERT_EQ(T1.getLine(10), 3);
|
||
|
ASSERT_EQ(T1.getLine(11), 3);
|
||
|
}
|
||
|
|
||
|
TEST(TextFileTest, ReportsCorrectStartOffset) {
|
||
|
TextFile T1 { "foo.txt", "bar\nbaz\nbax\n" };
|
||
|
ASSERT_EQ(T1.getStartOffset(1), 0);
|
||
|
ASSERT_EQ(T1.getStartOffset(2), 4);
|
||
|
ASSERT_EQ(T1.getStartOffset(3), 8);
|
||
|
ASSERT_EQ(T1.getStartOffset(4), 12);
|
||
|
ASSERT_EQ(T1.getStartOffset(5), 12);
|
||
|
}
|
||
|
|
||
|
TEST(TextFileTest, ReportsCorrectColumn) {
|
||
|
TextFile T1 { "foo.txt", "bar\nbaz\nbax\n" };
|
||
|
ASSERT_EQ(T1.getColumn(0), 1);
|
||
|
ASSERT_EQ(T1.getColumn(1), 2);
|
||
|
ASSERT_EQ(T1.getColumn(2), 3);
|
||
|
ASSERT_EQ(T1.getColumn(3), 4);
|
||
|
ASSERT_EQ(T1.getColumn(4), 1);
|
||
|
ASSERT_EQ(T1.getColumn(5), 2);
|
||
|
ASSERT_EQ(T1.getColumn(6), 3);
|
||
|
ASSERT_EQ(T1.getColumn(7), 4);
|
||
|
ASSERT_EQ(T1.getColumn(8), 1);
|
||
|
ASSERT_EQ(T1.getColumn(9), 2);
|
||
|
ASSERT_EQ(T1.getColumn(10), 3);
|
||
|
ASSERT_EQ(T1.getColumn(11), 4);
|
||
|
}
|