54 lines
1.1 KiB
C
54 lines
1.1 KiB
C
/*
|
|
* 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();
|
|
}
|