Ejemplo n.º 1
0
Messages60Test::Messages60Test() {
    // This list MUST mirror the list of routable factories from the DocumentProtocol constructor that support
    // version 6.x. When adding tests to this list, please KEEP THEM ORDERED alphabetically like they are now.
    putTest(DocumentProtocol::MESSAGE_CREATEVISITOR, TEST_METHOD(Messages60Test::testCreateVisitorMessage));
    putTest(DocumentProtocol::MESSAGE_STATBUCKET, TEST_METHOD(Messages60Test::testStatBucketMessage));
    putTest(DocumentProtocol::MESSAGE_GETBUCKETLIST, TEST_METHOD(Messages60Test::testGetBucketListMessage));
}
Ejemplo n.º 2
0
/**
****************************************************************************************************
* @run              MojObject stores key-value pairs.Internally it provides separate implmentation
                    for all data types. Provides facility to push single entry or entire array
                    of data into MojObject.
                    Supports put/get/delete operation.
                    Data having key and value is converted to Node type and then node is inserted
                    into TreeBase. All operation happens on TreeBase are based on key.
                    Provides interface to convert JSON string to JSON object and viceversa.
* @param         :  None
* @retval        :  MojErr
****************************************************************************************************
**/
MojErr MojObjectTest::run()
{
    MojObject obj0;
    MojObject obj1;
    MojObject obj2;
    MojObject obj3;
    MojObject obj4;
    MojString str1;
    MojObjectBuilder builder;
    int count = 0;
    bool found = false;

    // empty object
    MojTestAssert(obj1.type() == MojObject::TypeUndefined);
    MojErr err = emptyTest(obj1);
    MojTestErrCheck(err);
    obj1.clear(MojObject::TypeNull);
    MojTestAssert(obj1.type() == MojObject::TypeNull);
    err = emptyTest(obj1);
    MojTestErrCheck(err);
    obj1.clear(MojObject::TypeObject);
    MojTestAssert(obj1.type() == MojObject::TypeObject);
    err = emptyTest(obj1);
    MojTestErrCheck(err);
    obj1.clear(MojObject::TypeArray);
    MojTestAssert(obj1.type() == MojObject::TypeArray);
    err = emptyTest(obj1);
    MojTestErrCheck(err);
    obj1.clear(MojObject::TypeString);
    MojTestAssert(obj1.type() == MojObject::TypeString);
    err = emptyTest(obj1);
    MojTestErrCheck(err);
    obj1.clear(MojObject::TypeBool);
    MojTestAssert(obj1.type() == MojObject::TypeBool);
    err = emptyTest(obj1);
    MojTestErrCheck(err);
    obj1.clear(MojObject::TypeDecimal);
    MojTestAssert(obj1.type() == MojObject::TypeDecimal);
    err = emptyTest(obj1);
    MojTestErrCheck(err);
    obj1.clear(MojObject::TypeInt);
    MojTestAssert(obj1.type() == MojObject::TypeInt);
    err = emptyTest(obj1);
    MojTestErrCheck(err);
    err = obj2.fromJson("{}");
    MojTestAssert(obj2.type() == MojObject::TypeObject);
    MojTestErrCheck(err);
    err = emptyTest(obj2);
    MojTestErrCheck(err);
    err = obj3.put(_T("hello"), 5LL);
    MojTestErrCheck(err);
    err = obj3.del(_T("hello"), found);
    MojTestErrCheck(err);
    MojTestAssert(found);
    err = emptyTest(obj3);
    MojTestErrCheck(err);
    err = obj3.put(_T("hello"), 5LL);
    MojTestErrCheck(err);
    obj3.clear();
    err = emptyTest(obj3);
    MojTestErrCheck(err);

    // put/get/del
    err = putTest(obj1);
    MojTestErrCheck(err);
    err = getTest(obj1);
    MojTestErrCheck(err);
    err = obj1.visit(builder);
    MojTestErrCheck(err);
    err = getTest(builder.object());
    MojTestErrCheck(err);
    err = obj1.toJson(str1);
    MojTestErrCheck(err);
    err = obj2.fromJson(str1);
    MojTestErrCheck(err);
    err = getTest(obj2);
    MojTestErrCheck(err);
    obj3 = obj2;
    err = getTest(obj3);
    MojTestErrCheck(err);
    obj3.clear();
    MojTestAssert(obj3.empty());

    // iterator
    for (MojObject::ConstIterator i = obj2.begin(); i != obj2.end(); ++i) {
        count++;
        obj3.put(i.key(), i.value());
    }
    MojTestAssert(count == 10);
    err = getTest(obj3);
    MojTestErrCheck(err);

    // types
    err = typeTest();
    MojTestErrCheck(err);

    return MojErrNone;
}