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) {
|
||||
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;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user