コード例 #1
0
ファイル: TaskKittest.cpp プロジェクト: 9cat/cyphesis
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;
}
コード例 #2
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;
}