diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/unit/testContractionState.cxx | 21 | ||||
-rw-r--r-- | test/unit/testRunStyles.cxx | 98 |
2 files changed, 119 insertions, 0 deletions
diff --git a/test/unit/testContractionState.cxx b/test/unit/testContractionState.cxx index 96a7bbf8a..bd3b6f111 100644 --- a/test/unit/testContractionState.cxx +++ b/test/unit/testContractionState.cxx @@ -76,6 +76,7 @@ TEST_F(ContractionStateTest, ShowHide) { EXPECT_EQ(0, pcs->GetVisible(1)); EXPECT_EQ(true, pcs->GetVisible(2)); EXPECT_EQ(4, pcs->LinesDisplayed()); + EXPECT_EQ(1, pcs->HiddenLines()); pcs->SetVisible(1, 2, true); for (int l=0;l<4;l++) { @@ -88,6 +89,26 @@ TEST_F(ContractionStateTest, ShowHide) { for (int l=0;l<4;l++) { EXPECT_EQ(true, pcs->GetVisible(0)); } + EXPECT_EQ(0, pcs->HiddenLines()); +} + +TEST_F(ContractionStateTest, Hidden) { + pcs->InsertLines(0,1); + for (int l=0;l<2;l++) { + EXPECT_EQ(true, pcs->GetVisible(0)); + } + EXPECT_EQ(0, pcs->HiddenLines()); + + pcs->SetVisible(1, 1, false); + EXPECT_EQ(true, pcs->GetVisible(0)); + EXPECT_EQ(0, pcs->GetVisible(1)); + EXPECT_EQ(1, pcs->HiddenLines()); + + pcs->SetVisible(1, 1, true); + for (int l=0;l<2;l++) { + EXPECT_EQ(true, pcs->GetVisible(0)); + } + EXPECT_EQ(0, pcs->HiddenLines()); } TEST_F(ContractionStateTest, Contracting) { diff --git a/test/unit/testRunStyles.cxx b/test/unit/testRunStyles.cxx index d5bf1bb08..f225ae7e2 100644 --- a/test/unit/testRunStyles.cxx +++ b/test/unit/testRunStyles.cxx @@ -28,11 +28,13 @@ protected: TEST_F(RunStylesTest, IsEmptyInitially) { EXPECT_EQ(0, prs->Length()); + EXPECT_EQ(1, prs->Runs()); } TEST_F(RunStylesTest, SimpleInsert) { prs->InsertSpace(0, 1); EXPECT_EQ(1, prs->Length()); + EXPECT_EQ(1, prs->Runs()); EXPECT_EQ(0, prs->ValueAt(0)); EXPECT_EQ(1, prs->FindNextChange(0, prs->Length())); EXPECT_EQ(2, prs->FindNextChange(1, prs->Length())); @@ -41,7 +43,9 @@ TEST_F(RunStylesTest, SimpleInsert) { TEST_F(RunStylesTest, TwoRuns) { prs->InsertSpace(0, 2); EXPECT_EQ(2, prs->Length()); + EXPECT_EQ(1, prs->Runs()); prs->SetValueAt(0, 2); + EXPECT_EQ(2, prs->Runs()); EXPECT_EQ(2, prs->ValueAt(0)); EXPECT_EQ(0, prs->ValueAt(1)); EXPECT_EQ(1, prs->FindNextChange(0, prs->Length())); @@ -56,6 +60,7 @@ TEST_F(RunStylesTest, LongerRuns) { EXPECT_EQ(3, prs->ValueAt(0)); EXPECT_EQ(3, prs->ValueAt(1)); EXPECT_EQ(0, prs->ValueAt(2)); + EXPECT_EQ(2, prs->Runs()); EXPECT_EQ(0, prs->StartRun(0)); EXPECT_EQ(2, prs->EndRun(0)); @@ -120,6 +125,12 @@ TEST_F(RunStylesTest, FillRangeAlreadyFilled) { EXPECT_EQ(0, prs->FillRange(startFill2, 99, lengthFill2)); EXPECT_EQ(2, startFill2); EXPECT_EQ(1, lengthFill2); + EXPECT_EQ(0, prs->ValueAt(0)); + EXPECT_EQ(99, prs->ValueAt(1)); + EXPECT_EQ(99, prs->ValueAt(2)); + EXPECT_EQ(99, prs->ValueAt(3)); + EXPECT_EQ(0, prs->ValueAt(4)); + EXPECT_EQ(3, prs->Runs()); } TEST_F(RunStylesTest, FillRangeAlreadyPartFilled) { @@ -135,14 +146,18 @@ TEST_F(RunStylesTest, FillRangeAlreadyPartFilled) { EXPECT_EQ(true, prs->FillRange(startFill2, 99, lengthFill2)); EXPECT_EQ(3, startFill2); EXPECT_EQ(1, lengthFill2); + EXPECT_EQ(3, prs->Runs()); } TEST_F(RunStylesTest, DeleteRange) { prs->InsertSpace(0, 5); prs->SetValueAt(0, 3); + EXPECT_EQ(2, prs->Runs()); prs->SetValueAt(1, 3); + EXPECT_EQ(2, prs->Runs()); prs->DeleteRange(1, 1); EXPECT_EQ(4, prs->Length()); + EXPECT_EQ(2, prs->Runs()); EXPECT_EQ(3, prs->ValueAt(0)); EXPECT_EQ(0, prs->ValueAt(1)); @@ -156,6 +171,88 @@ TEST_F(RunStylesTest, DeleteRange) { EXPECT_EQ(4, prs->EndRun(2)); } +TEST_F(RunStylesTest, Find) { + prs->InsertSpace(0, 5); + int startFill = 1; + int lengthFill = 3; + EXPECT_EQ(true, prs->FillRange(startFill, 99, lengthFill)); + EXPECT_EQ(1, startFill); + EXPECT_EQ(3, lengthFill); + + EXPECT_EQ(0, prs->Find(0,0)); + EXPECT_EQ(1, prs->Find(99,0)); + EXPECT_EQ(-1, prs->Find(3,0)); + + EXPECT_EQ(4, prs->Find(0,1)); + EXPECT_EQ(1, prs->Find(99,1)); + EXPECT_EQ(-1, prs->Find(3,1)); + + EXPECT_EQ(4, prs->Find(0,2)); + EXPECT_EQ(2, prs->Find(99,2)); + EXPECT_EQ(-1, prs->Find(3,2)); + + EXPECT_EQ(4, prs->Find(0,4)); + EXPECT_EQ(-1, prs->Find(99,4)); + EXPECT_EQ(-1, prs->Find(3,4)); + + EXPECT_EQ(-1, prs->Find(0,5)); + EXPECT_EQ(-1, prs->Find(99,5)); + EXPECT_EQ(-1, prs->Find(3,5)); + + EXPECT_EQ(-1, prs->Find(0,6)); + EXPECT_EQ(-1, prs->Find(99,6)); + EXPECT_EQ(-1, prs->Find(3,6)); +} + +TEST_F(RunStylesTest, FindWithReversion) { + prs->InsertSpace(0, 5); + EXPECT_EQ(1, prs->Runs()); + + int startFill = 1; + int lengthFill = 1; + EXPECT_EQ(true, prs->FillRange(startFill, 99, lengthFill)); + EXPECT_EQ(1, startFill); + EXPECT_EQ(1, lengthFill); + EXPECT_EQ(3, prs->Runs()); + + startFill = 2; + lengthFill = 1; + EXPECT_EQ(true, prs->FillRange(startFill, 99, lengthFill)); + EXPECT_EQ(2, startFill); + EXPECT_EQ(1, lengthFill); + EXPECT_EQ(3, prs->Runs()); + + startFill = 1; + lengthFill = 1; + EXPECT_EQ(true, prs->FillRange(startFill, 0, lengthFill)); + EXPECT_EQ(3, prs->Runs()); + EXPECT_EQ(1, lengthFill); + + startFill = 2; + lengthFill = 1; + EXPECT_EQ(true, prs->FillRange(startFill, 0, lengthFill)); + EXPECT_EQ(1, prs->Runs()); + EXPECT_EQ(1, lengthFill); + + EXPECT_EQ(-1, prs->Find(0,6)); +} + +TEST_F(RunStylesTest, FinalRunInversion) { + EXPECT_EQ(1, prs->Runs()); + prs->InsertSpace(0, 1); + EXPECT_EQ(1, prs->Runs()); + prs->SetValueAt(0, 1); + EXPECT_EQ(1, prs->Runs()); + prs->InsertSpace(1, 1); + EXPECT_EQ(1, prs->Runs()); + prs->SetValueAt(1, 1); + EXPECT_EQ(1, prs->Runs()); + prs->SetValueAt(1, 0); + EXPECT_EQ(2, prs->Runs()); + prs->SetValueAt(1, 1); + EXPECT_EQ(1, prs->Runs()); +} + TEST_F(RunStylesTest, DeleteAll) { prs->InsertSpace(0, 5); prs->SetValueAt(0, 3); @@ -163,5 +260,6 @@ TEST_F(RunStylesTest, DeleteAll) { prs->DeleteAll(); EXPECT_EQ(0, prs->Length()); EXPECT_EQ(0, prs->ValueAt(0)); + EXPECT_EQ(1, prs->Runs()); } |