int main() { TaskKit * k = new TestTaskKit; assert(k->m_scriptFactory == 0); assert(k->target() == 0); delete k; // The is no code in operations.cpp to execute, but we need coverage. return 0; }
int main() { { TaskKit * ek = new TaskFactory("test1"); assert(ek->m_scriptFactory == 0); assert(ek->target() == 0); delete ek; } Entity * chr = new Entity("1", 1); Entity * target = new Entity("2", 2); // Check target will always succeed if no constraints are in place { TaskKit * ek = new TaskFactory("test1"); assert(ek->m_scriptFactory == 0); assert(ek->target() == 0); int c = ek->checkTarget(target); assert(c == 0); } // Type match fails, no property set { TaskKit * ek = new TaskFactory("test1"); stub_TypeNode_isTypeOf = false; ek->setTarget(new TypeNode("type1")); target->setType(new TypeNode("type2")); int c = ek->checkTarget(target); assert(c == -1); } // Type match succeeds, no property set { TaskKit * ek = new TaskFactory("test1"); stub_TypeNode_isTypeOf = true; ek->setTarget(new TypeNode("type1")); target->setType(new TypeNode("type2")); int c = ek->checkTarget(target); assert(c == 0); } // property match fails, no type match { TaskKit * ek = new TaskFactory("test1"); stub_LocatedEntity_hasAttr = false; ek->setRequireProperty("prop1"); int c = ek->checkTarget(target); assert(c == -1); } // property match succeeds, no type match { TaskKit * ek = new TaskFactory("test1"); stub_LocatedEntity_hasAttr = true; ek->setRequireProperty("prop1"); int c = ek->checkTarget(target); assert(c == 0); } // property match fails, type match fails { TaskKit * ek = new TaskFactory("test1"); stub_LocatedEntity_hasAttr = false; stub_TypeNode_isTypeOf = false; ek->setTarget(new TypeNode("type1")); target->setType(new TypeNode("type2")); ek->setRequireProperty("prop1"); int c = ek->checkTarget(target); assert(c == -1); } // property match succeeds, type match fails { TaskKit * ek = new TaskFactory("test1"); stub_LocatedEntity_hasAttr = true; stub_TypeNode_isTypeOf = false; ek->setTarget(new TypeNode("type1")); target->setType(new TypeNode("type2")); ek->setRequireProperty("prop1"); int c = ek->checkTarget(target); assert(c == -1); } // property match fails, type match succeeds { TaskKit * ek = new TaskFactory("test1"); stub_LocatedEntity_hasAttr = false; stub_TypeNode_isTypeOf = true; ek->setTarget(new TypeNode("type1")); target->setType(new TypeNode("type2")); ek->setRequireProperty("prop1"); int c = ek->checkTarget(target); assert(c == -1); } // property match fails, type match fails { TaskKit * ek = new TaskFactory("test1"); stub_LocatedEntity_hasAttr = true; stub_TypeNode_isTypeOf = true; ek->setTarget(new TypeNode("type1")); target->setType(new TypeNode("type2")); ek->setRequireProperty("prop1"); int c = ek->checkTarget(target); assert(c == 0); } { TaskKit * ek = new TaskFactory("test1"); Task * e = ek->newTask(*chr); assert(e); delete ek; } return 0; }