Add store into abstract machine struct
This commit is contained in:
@@ -1,23 +1,18 @@
|
||||
#include "am.h"
|
||||
#include "env.h"
|
||||
#include "eval.h"
|
||||
#include "store.h"
|
||||
#include "unity.h"
|
||||
|
||||
static am_t am;
|
||||
static store_t store;
|
||||
|
||||
void test_prim_proc(am_t *am, store_t *store)
|
||||
void test_prim_proc(am_t *am)
|
||||
{
|
||||
(void)am;
|
||||
(void)store;
|
||||
}
|
||||
|
||||
void setUp(void)
|
||||
{
|
||||
am_init(&am);
|
||||
store_init(&store);
|
||||
env_init(&am, &store);
|
||||
}
|
||||
|
||||
void tearDown(void)
|
||||
@@ -26,7 +21,7 @@ void tearDown(void)
|
||||
|
||||
static void test_42_self_evals(void)
|
||||
{
|
||||
am.expr = expr_integer(&store, 42);
|
||||
am.expr = expr_integer(&am, 42);
|
||||
|
||||
eval(&am);
|
||||
|
||||
@@ -38,7 +33,7 @@ static void test_42_self_evals(void)
|
||||
|
||||
static void test_empty_list_self_evals(void)
|
||||
{
|
||||
am.expr = expr_empty_list(&store);
|
||||
am.expr = expr_empty_list(&am);
|
||||
|
||||
eval(&am);
|
||||
|
||||
@@ -49,7 +44,7 @@ static void test_empty_list_self_evals(void)
|
||||
|
||||
static void test_prim_proc_self_evals(void)
|
||||
{
|
||||
am.expr = expr_prim_proc(&store, test_prim_proc);
|
||||
am.expr = expr_prim_proc(&am, test_prim_proc);
|
||||
|
||||
eval(&am);
|
||||
|
||||
@@ -61,9 +56,9 @@ static void test_prim_proc_self_evals(void)
|
||||
|
||||
static void test_foo_evals_to_42_when_set_in_env(void)
|
||||
{
|
||||
am.expr = expr_str_symbol(&store, "foo");
|
||||
am.val = expr_integer(&store, 42);
|
||||
env_set(&am, &store);
|
||||
am.expr = expr_str_symbol(&am, "foo");
|
||||
am.val = expr_integer(&am, 42);
|
||||
env_set(&am);
|
||||
am.val = NULL;
|
||||
|
||||
eval(&am);
|
||||
|
||||
Reference in New Issue
Block a user