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