1/* 2 * QFloat unit-tests. 3 * 4 * Copyright IBM, Corp. 2009 5 * 6 * Authors: 7 * Anthony Liguori <aliguori@us.ibm.com> 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 */ 13#include "qemu/osdep.h" 14#include <glib.h> 15 16#include "qapi/qmp/qfloat.h" 17#include "qemu-common.h" 18 19/* 20 * Public Interface test-cases 21 * 22 * (with some violations to access 'private' data) 23 */ 24 25static void qfloat_from_double_test(void) 26{ 27 QFloat *qf; 28 const double value = -42.23423; 29 30 qf = qfloat_from_double(value); 31 g_assert(qf != NULL); 32 g_assert(qf->value == value); 33 g_assert(qf->base.refcnt == 1); 34 g_assert(qobject_type(QOBJECT(qf)) == QTYPE_QFLOAT); 35 36 // destroy doesn't exit yet 37 g_free(qf); 38} 39 40static void qfloat_destroy_test(void) 41{ 42 QFloat *qf = qfloat_from_double(0.0); 43 QDECREF(qf); 44} 45 46int main(int argc, char **argv) 47{ 48 g_test_init(&argc, &argv, NULL); 49 50 g_test_add_func("/public/from_double", qfloat_from_double_test); 51 g_test_add_func("/public/destroy", qfloat_destroy_test); 52 53 return g_test_run(); 54} 55