bolt/src/TestText.cc

48 lines
1.3 KiB
C++
Raw Normal View History

#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);
}