diff options
Diffstat (limited to 'test/unit/testRunStyles.cxx')
| -rw-r--r-- | test/unit/testRunStyles.cxx | 98 | 
1 files changed, 98 insertions, 0 deletions
| 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());  } | 
