fix finelist and add tests

This commit is contained in:
2021-01-02 17:23:22 +01:00
parent 3ad63eb3a8
commit 09d3d7a923
2 changed files with 38 additions and 4 deletions

View File

@@ -15,12 +15,10 @@ FineSet::FineSet() : Set("FineSet") { }
bool FineSet::add(int element) {
first->lock();
return true;
Node* p = this->first;
Node* c = p->next;
c->lock();
while (c->is_smaller_than(element)) {
std::cout << "C: "<< c->next << std::endl;
p->unlock();
p = c;
c = c->next;
@@ -42,7 +40,7 @@ bool FineSet::add(int element) {
}
}
bool FineSet::rmv(int element) {
bool FineSet::rmv(int element) {
this->first->lock();
Node* p = this->first;
Node* c = p->next;

View File

@@ -10,6 +10,42 @@ TEST(FineSetTest, add1_add1) {
ASSERT_FALSE(fl->add(1));
}
TEST(FineSetTest, add1_rmv1) {
FineSet * fl = new FineSet();
//ASSERT_TRUE(fl->add(1));
ASSERT_TRUE(fl->add(1));
ASSERT_TRUE(fl->rmv(1));
}
TEST(FineSetTest, rmv1) {
FineSet * fl = new FineSet();
ASSERT_FALSE(fl->rmv(1));
}
TEST(FineSetTest, rmv1_add1_rmv1_rmv1) {
FineSet * fl = new FineSet();
ASSERT_FALSE(fl->rmv(1));
ASSERT_TRUE(fl->add(1));
ASSERT_TRUE(fl->rmv(1));
ASSERT_FALSE(fl->rmv(1));
}
TEST(FineSetTest, ctn1) {
FineSet * fl = new FineSet();
ASSERT_FALSE(fl->ctn(1));
}
TEST(FineSetTest, ctn1_add1_ctn1) {
FineSet * fl = new FineSet();
ASSERT_FALSE(fl->ctn(1));
ASSERT_TRUE(fl->add(1));
ASSERT_TRUE(fl->ctn(1));;
}
TEST(FineSetTest, ctn1_add1_ctn1_rmv1_ctn1) {
FineSet * fl = new FineSet();
ASSERT_FALSE(fl->ctn(1));
ASSERT_TRUE(fl->add(1));
ASSERT_TRUE(fl->ctn(1));
ASSERT_TRUE(fl->rmv(1));
ASSERT_FALSE(fl->ctn(1));
}