/* * QFloat unit-tests. * * Copyright IBM, Corp. 2009 * * Authors: * Anthony Liguori <aliguori@us.ibm.com> * * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. * See the COPYING.LIB file in the top-level directory. * */ #include <glib.h> #include "qapi/qmp/qfloat.h" #include "qemu-common.h" /* * Public Interface test-cases * * (with some violations to access 'private' data) */ static void qfloat_from_double_test(void) { QFloat *qf; const double value = -42.23423; qf = qfloat_from_double(value); g_assert(qf != NULL); g_assert(qf->value == value); g_assert(qf->base.refcnt == 1); g_assert(qobject_type(QOBJECT(qf)) == QTYPE_QFLOAT); // destroy doesn't exit yet g_free(qf); } static void qfloat_destroy_test(void) { QFloat *qf = qfloat_from_double(0.0); QDECREF(qf); } int main(int argc, char **argv) { g_test_init(&argc, &argv, NULL); g_test_add_func("/public/from_double", qfloat_from_double_test); g_test_add_func("/public/destroy", qfloat_destroy_test); return g_test_run(); }