Browse Source

Test: PityTest - update test_pitytree.cc

master
heck 4 years ago
parent
commit
0fead0a3fb
  1. 17
      test/test_pitytree.cc

17
test/test_pitytree.cc

@ -19,6 +19,7 @@ public:
// methods // methods
virtual int implMe(int magic_nr) = 0; virtual int implMe(int magic_nr) = 0;
AbstractNode& getSelf() override = 0;
AbstractNode *clone() override = 0; AbstractNode *clone() override = 0;
// fields // fields
@ -48,6 +49,7 @@ public:
explicit ANode(const std::string &name); explicit ANode(const std::string &name);
explicit ANode(const std::string &name, AbstractNode &parent); explicit ANode(const std::string &name, AbstractNode &parent);
ANode(const ANode &rhs); ANode(const ANode &rhs);
ANode &getSelf() override;
ANode *clone() override; ANode *clone() override;
int implMe(int magic_nr) override; int implMe(int magic_nr) override;
}; };
@ -61,6 +63,11 @@ int ANode::implMe(int magic_nr)
return 23; return 23;
} }
ANode &ANode::getSelf()
{
return *this;
}
ANode *ANode::clone() ANode *ANode::clone()
{ {
return new ANode(*this); return new ANode(*this);
@ -73,6 +80,7 @@ public:
explicit BNode(const std::string &name); explicit BNode(const std::string &name);
explicit BNode(const std::string &name, AbstractNode &parent); explicit BNode(const std::string &name, AbstractNode &parent);
BNode(const BNode &rhs); BNode(const BNode &rhs);
BNode &getSelf() override;
BNode *clone() override; BNode *clone() override;
int implMe(int magic_nr) override; int implMe(int magic_nr) override;
}; };
@ -86,6 +94,11 @@ int BNode::implMe(int magic_nr)
return 42; return 42;
} }
BNode &BNode::getSelf()
{
return *this;
}
BNode *BNode::clone() BNode *BNode::clone()
{ {
return new BNode(*this); return new BNode(*this);
@ -141,4 +154,8 @@ int main(int argc, char *argv[])
a.getChild("b").addCopy(ANode(a), a.getName() + "1"); a.getChild("b").addCopy(ANode(a), a.getName() + "1");
std::cout << a.to_string() << std::endl; std::cout << a.to_string() << std::endl;
ANode a2 = ANode(a);
a2.setName("a2");
std::cout << a2.to_string() << std::endl;
} }

Loading…
Cancel
Save