|  | /* | 
|  | * 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(); | 
|  | } |