コード例 #1
0
ファイル: test-alignment.c プロジェクト: ntd/adg
int
main(int argc, char *argv[])
{
    AdgAlignment *alignment;

    adg_test_init(&argc, &argv);

    adg_test_add_object_checks("/adg/alignment/type/object", ADG_TYPE_ALIGNMENT);
    adg_test_add_entity_checks("/adg/alignment/type/entity", ADG_TYPE_ALIGNMENT);
    adg_test_add_container_checks("/adg/alignment/type/container", ADG_TYPE_ALIGNMENT);

    alignment = adg_alignment_new_explicit(0.5, 0.5);
    adg_container_add(ADG_CONTAINER(alignment), ADG_ENTITY(adg_logo_new()));
    adg_test_add_global_space_checks("/adg/alignment/behavior/global-space", alignment);
    alignment = adg_alignment_new_explicit(0.5, 0.5);
    adg_container_add(ADG_CONTAINER(alignment), ADG_ENTITY(adg_logo_new()));
    adg_test_add_local_space_checks("/adg/alignment/behavior/local-space", alignment);

    g_test_add_func("/adg/alignment/property/factor", _adg_property_factor);

    return g_test_run();
}
コード例 #2
0
ファイル: test-container.c プロジェクト: bert/adg
int
main(int argc, char *argv[])
{
    AdgContainer *container;
    adg_test_init(&argc, &argv);

    g_test_add_func("/adg/container/behavior/misc", _adg_behavior_misc);

    adg_test_add_object_checks("/adg/container/type/object", ADG_TYPE_CONTAINER);
    adg_test_add_entity_checks("/adg/container/type/entity", ADG_TYPE_CONTAINER);
    adg_test_add_container_checks("/adg/container/type/container", ADG_TYPE_CONTAINER);

    container = adg_container_new();
    adg_container_add(container, ADG_ENTITY(adg_logo_new()));
    adg_test_add_global_space_checks("/adg/container/behavior/global-space", container);
    container = adg_container_new();
    adg_container_add(container, ADG_ENTITY(adg_logo_new()));
    adg_test_add_local_space_checks("/adg/container/behavior/local-space", container);

    g_test_add_func("/adg/container/property/child", _adg_property_child);

    return g_test_run();
}
コード例 #3
0
ファイル: test-container.c プロジェクト: bert/adg
static void
_adg_property_child(void)
{
    AdgContainer *container;
    AdgEntity *valid_entity, *invalid_entity;
    GSList *children;

    container = adg_container_new();
    valid_entity = ADG_ENTITY(adg_logo_new());
    invalid_entity = adg_test_invalid_pointer();

    /* Keep alive the entity between all the tests */
    g_object_ref(valid_entity);

    /* Using the public APIs */
    adg_container_add(container, NULL);
    children = adg_container_children(container);
    g_assert_null(children);

    adg_container_add(container, invalid_entity);
    children = adg_container_children(container);
    g_assert_null(children);

    adg_container_add(container, valid_entity);
    children = adg_container_children(container);
    g_assert_nonnull(children);
    g_assert_true(children->data == valid_entity);
    g_slist_free(children);

    adg_container_remove(container, invalid_entity);
    children = adg_container_children(container);
    g_assert_nonnull(children);
    g_assert_true(children->data == valid_entity);
    g_slist_free(children);

    adg_container_remove(container, valid_entity);
    children = adg_container_children(container);
    g_assert_null(children);

    /* Using GObject property methods */
    g_object_set(container, "child", NULL, NULL);
    children = adg_container_children(container);
    g_assert_null(children);

    g_object_set(container, "child", invalid_entity, NULL);
    children = adg_container_children(container);
    g_assert_null(children);

    g_object_set(container, "child", valid_entity, NULL);
    children = adg_container_children(container);
    g_assert_nonnull(children);
    g_assert_true(children->data == valid_entity);
    g_slist_free(children);

    adg_container_remove(container, valid_entity);
    children = adg_container_children(container);
    g_assert_null(children);

    adg_entity_destroy(ADG_ENTITY(container));
    adg_entity_destroy(valid_entity);
}