|
|
1.1 ! root 1: /* ! 2: * QInt unit-tests. ! 3: * ! 4: * Copyright (C) 2009 Red Hat Inc. ! 5: * ! 6: * Authors: ! 7: * Luiz Capitulino <[email protected]> ! 8: * ! 9: * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. ! 10: * See the COPYING.LIB file in the top-level directory. ! 11: */ ! 12: #include <glib.h> ! 13: ! 14: #include "qint.h" ! 15: #include "qemu-common.h" ! 16: ! 17: /* ! 18: * Public Interface test-cases ! 19: * ! 20: * (with some violations to access 'private' data) ! 21: */ ! 22: ! 23: static void qint_from_int_test(void) ! 24: { ! 25: QInt *qi; ! 26: const int value = -42; ! 27: ! 28: qi = qint_from_int(value); ! 29: g_assert(qi != NULL); ! 30: g_assert(qi->value == value); ! 31: g_assert(qi->base.refcnt == 1); ! 32: g_assert(qobject_type(QOBJECT(qi)) == QTYPE_QINT); ! 33: ! 34: // destroy doesn't exit yet ! 35: g_free(qi); ! 36: } ! 37: ! 38: static void qint_destroy_test(void) ! 39: { ! 40: QInt *qi = qint_from_int(0); ! 41: QDECREF(qi); ! 42: } ! 43: ! 44: static void qint_from_int64_test(void) ! 45: { ! 46: QInt *qi; ! 47: const int64_t value = 0x1234567890abcdefLL; ! 48: ! 49: qi = qint_from_int(value); ! 50: g_assert((int64_t) qi->value == value); ! 51: ! 52: QDECREF(qi); ! 53: } ! 54: ! 55: static void qint_get_int_test(void) ! 56: { ! 57: QInt *qi; ! 58: const int value = 123456; ! 59: ! 60: qi = qint_from_int(value); ! 61: g_assert(qint_get_int(qi) == value); ! 62: ! 63: QDECREF(qi); ! 64: } ! 65: ! 66: static void qobject_to_qint_test(void) ! 67: { ! 68: QInt *qi; ! 69: ! 70: qi = qint_from_int(0); ! 71: g_assert(qobject_to_qint(QOBJECT(qi)) == qi); ! 72: ! 73: QDECREF(qi); ! 74: } ! 75: ! 76: int main(int argc, char **argv) ! 77: { ! 78: g_test_init(&argc, &argv, NULL); ! 79: ! 80: g_test_add_func("/public/from_int", qint_from_int_test); ! 81: g_test_add_func("/public/destroy", qint_destroy_test); ! 82: g_test_add_func("/public/from_int64", qint_from_int64_test); ! 83: g_test_add_func("/public/get_int", qint_get_int_test); ! 84: g_test_add_func("/public/to_qint", qobject_to_qint_test); ! 85: ! 86: return g_test_run(); ! 87: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.