Statistics
| Branch: | Revision:

root / check-qfloat.c @ 903a8814

History | View | Annotate | Download (1.1 kB)

1 9c9efb6b Anthony Liguori
/*
2 9c9efb6b Anthony Liguori
 * QFloat unit-tests.
3 9c9efb6b Anthony Liguori
 *
4 9c9efb6b Anthony Liguori
 * Copyright IBM, Corp. 2009
5 9c9efb6b Anthony Liguori
 *
6 9c9efb6b Anthony Liguori
 * Authors:
7 9c9efb6b Anthony Liguori
 *  Anthony Liguori   <aliguori@us.ibm.com>
8 9c9efb6b Anthony Liguori
 *
9 9c9efb6b Anthony Liguori
 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
10 9c9efb6b Anthony Liguori
 * See the COPYING.LIB file in the top-level directory.
11 9c9efb6b Anthony Liguori
 *
12 9c9efb6b Anthony Liguori
 */
13 a9e1c28d Anthony Liguori
#include <glib.h>
14 9c9efb6b Anthony Liguori
15 9c9efb6b Anthony Liguori
#include "qfloat.h"
16 9c9efb6b Anthony Liguori
#include "qemu-common.h"
17 9c9efb6b Anthony Liguori
18 9c9efb6b Anthony Liguori
/*
19 9c9efb6b Anthony Liguori
 * Public Interface test-cases
20 9c9efb6b Anthony Liguori
 *
21 9c9efb6b Anthony Liguori
 * (with some violations to access 'private' data)
22 9c9efb6b Anthony Liguori
 */
23 9c9efb6b Anthony Liguori
24 a9e1c28d Anthony Liguori
static void qfloat_from_double_test(void)
25 9c9efb6b Anthony Liguori
{
26 9c9efb6b Anthony Liguori
    QFloat *qf;
27 9c9efb6b Anthony Liguori
    const double value = -42.23423;
28 9c9efb6b Anthony Liguori
29 9c9efb6b Anthony Liguori
    qf = qfloat_from_double(value);
30 a9e1c28d Anthony Liguori
    g_assert(qf != NULL);
31 a9e1c28d Anthony Liguori
    g_assert(qf->value == value);
32 a9e1c28d Anthony Liguori
    g_assert(qf->base.refcnt == 1);
33 a9e1c28d Anthony Liguori
    g_assert(qobject_type(QOBJECT(qf)) == QTYPE_QFLOAT);
34 9c9efb6b Anthony Liguori
35 9c9efb6b Anthony Liguori
    // destroy doesn't exit yet
36 7267c094 Anthony Liguori
    g_free(qf);
37 9c9efb6b Anthony Liguori
}
38 9c9efb6b Anthony Liguori
39 a9e1c28d Anthony Liguori
static void qfloat_destroy_test(void)
40 9c9efb6b Anthony Liguori
{
41 9c9efb6b Anthony Liguori
    QFloat *qf = qfloat_from_double(0.0);
42 9c9efb6b Anthony Liguori
    QDECREF(qf);
43 9c9efb6b Anthony Liguori
}
44 9c9efb6b Anthony Liguori
45 a9e1c28d Anthony Liguori
int main(int argc, char **argv)
46 9c9efb6b Anthony Liguori
{
47 a9e1c28d Anthony Liguori
    g_test_init(&argc, &argv, NULL);
48 9c9efb6b Anthony Liguori
49 a9e1c28d Anthony Liguori
    g_test_add_func("/public/from_double", qfloat_from_double_test);
50 a9e1c28d Anthony Liguori
    g_test_add_func("/public/destroy", qfloat_destroy_test);
51 9c9efb6b Anthony Liguori
52 a9e1c28d Anthony Liguori
    return g_test_run();
53 9c9efb6b Anthony Liguori
}