From 919869289e71bce1267fd4a1b536e1807b8acd16 Mon Sep 17 00:00:00 2001 From: Peter Evans Date: Sat, 10 Feb 2018 18:20:50 -0600 Subject: [PATCH] Add missing test for reflect functions, init --- tests/apple2.reflect.c | 59 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/tests/apple2.reflect.c b/tests/apple2.reflect.c index 82b613a..314d55a 100644 --- a/tests/apple2.reflect.c +++ b/tests/apple2.reflect.c @@ -1,7 +1,64 @@ #include +#include "apple2.h" #include "apple2.reflect.h" +#include "vm_di.h" +#include "vm_reflect.h" -Test(apple2_reflect, cpu_info) +static apple2 *mach; +static vm_reflect *ref; + +static void +setup() { + ref = vm_reflect_create(); + vm_di_set(VM_REFLECT, ref); + + mach = apple2_create(100, 100); + vm_di_set(VM_MACHINE, mach); + vm_di_set(VM_CPU, mach->cpu); + + apple2_reflect_init(); +} + +static void +teardown() +{ + vm_reflect_free(ref); + apple2_free(mach); + + vm_di_set(VM_REFLECT, NULL); + vm_di_set(VM_MACHINE, NULL); + vm_di_set(VM_CPU, NULL); +} + +TestSuite(apple2_reflect, .init = setup, .fini = teardown); + +Test(apple2_reflect, init) +{ + cr_assert_neq(ref->cpu_info, NULL); + cr_assert_neq(ref->machine_info, NULL); + cr_assert_neq(ref->pause, NULL); + cr_assert_neq(ref->disasm, NULL); +} + +/* Test(apple2_reflect, cpu_info) */ +/* Test(apple2_reflect, machine_info) */ + +Test(apple2_reflect, pause) +{ + mach->paused = false; + vm_reflect_pause(NULL); + cr_assert_eq(mach->paused, true); + vm_reflect_pause(NULL); + cr_assert_eq(mach->paused, false); +} + +Test(apple2_reflect, disasm) +{ + mach->disasm = false; + vm_reflect_disasm(NULL); + cr_assert_eq(mach->disasm, true); + vm_reflect_disasm(NULL); + cr_assert_eq(mach->disasm, false); }