mirror of
https://github.com/13hannes11/UU_la_parallel_programming_practical_assignments.git
synced 2024-09-04 00:50:58 +02:00
fix finelist and add tests
This commit is contained in:
@@ -15,12 +15,10 @@ FineSet::FineSet() : Set("FineSet") { }
|
|||||||
|
|
||||||
bool FineSet::add(int element) {
|
bool FineSet::add(int element) {
|
||||||
first->lock();
|
first->lock();
|
||||||
return true;
|
|
||||||
Node* p = this->first;
|
Node* p = this->first;
|
||||||
Node* c = p->next;
|
Node* c = p->next;
|
||||||
c->lock();
|
c->lock();
|
||||||
while (c->is_smaller_than(element)) {
|
while (c->is_smaller_than(element)) {
|
||||||
std::cout << "C: "<< c->next << std::endl;
|
|
||||||
p->unlock();
|
p->unlock();
|
||||||
p = c;
|
p = c;
|
||||||
c = c->next;
|
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();
|
this->first->lock();
|
||||||
Node* p = this->first;
|
Node* p = this->first;
|
||||||
Node* c = p->next;
|
Node* c = p->next;
|
||||||
|
|||||||
@@ -10,6 +10,42 @@ TEST(FineSetTest, add1_add1) {
|
|||||||
ASSERT_FALSE(fl->add(1));
|
ASSERT_FALSE(fl->add(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(FineSetTest, add1_rmv1) {
|
||||||
FineSet * fl = new FineSet();
|
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));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user