Fixed critiacal testing bug
We called 'new(Environment)' instead of 'create_empty_environment()'
This commit is contained in:
@@ -1 +1,5 @@
|
|||||||
/lisp
|
/lisp
|
||||||
|
/*.exe
|
||||||
|
/*.ilk
|
||||||
|
/*.pdb
|
||||||
|
/.vs/
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
@echo off
|
||||||
|
clang main.c -g -o lisp.exe --std=c99 || exit /b 1
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo --- Output Start ---
|
||||||
|
lisp test.lsp
|
||||||
|
echo --- Output End ---
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
#define _CRT_SECURE_NO_DEPRECATE
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ testresult test_built_in_add() {
|
|||||||
four,
|
four,
|
||||||
nil)));
|
nil)));
|
||||||
|
|
||||||
Ast_Node* result = eval_expr(form, new(Environment));
|
Ast_Node* result = eval_expr(form, create_empty_environment());
|
||||||
|
|
||||||
assert_no_error(error);
|
assert_no_error(error);
|
||||||
assert_not_null(result);
|
assert_not_null(result);
|
||||||
@@ -111,7 +111,7 @@ testresult test_built_in_substract() {
|
|||||||
four,
|
four,
|
||||||
nil)));
|
nil)));
|
||||||
|
|
||||||
Ast_Node* result = eval_expr(form, new(Environment));
|
Ast_Node* result = eval_expr(form, create_empty_environment());
|
||||||
|
|
||||||
assert_no_error(error);
|
assert_no_error(error);
|
||||||
assert_not_null(result);
|
assert_not_null(result);
|
||||||
@@ -135,7 +135,7 @@ testresult test_built_in_multiply() {
|
|||||||
four,
|
four,
|
||||||
nil)));
|
nil)));
|
||||||
|
|
||||||
Ast_Node* result = eval_expr(form, new(Environment));
|
Ast_Node* result = eval_expr(form, create_empty_environment());
|
||||||
|
|
||||||
assert_no_error(error);
|
assert_no_error(error);
|
||||||
assert_not_null(result);
|
assert_not_null(result);
|
||||||
@@ -159,7 +159,7 @@ testresult test_built_in_divide() {
|
|||||||
four,
|
four,
|
||||||
nil)));
|
nil)));
|
||||||
|
|
||||||
Ast_Node* result = eval_expr(form, new(Environment));
|
Ast_Node* result = eval_expr(form, create_empty_environment());
|
||||||
|
|
||||||
assert_null(error);
|
assert_null(error);
|
||||||
assert_not_null(result);
|
assert_not_null(result);
|
||||||
@@ -188,7 +188,7 @@ testresult test_built_in_if() {
|
|||||||
Ast_Node* result;
|
Ast_Node* result;
|
||||||
|
|
||||||
// test *then* case
|
// test *then* case
|
||||||
result = eval_expr(form, new(Environment));
|
result = eval_expr(form, create_empty_environment());
|
||||||
|
|
||||||
assert_no_error(error);
|
assert_no_error(error);
|
||||||
assert_not_null(result);
|
assert_not_null(result);
|
||||||
@@ -197,7 +197,7 @@ testresult test_built_in_if() {
|
|||||||
|
|
||||||
// test *else* case
|
// test *else* case
|
||||||
cond->value.number->value = 0;
|
cond->value.number->value = 0;
|
||||||
result = eval_expr(form, new(Environment));
|
result = eval_expr(form, create_empty_environment());
|
||||||
|
|
||||||
assert_null(error);
|
assert_null(error);
|
||||||
assert_not_null(result);
|
assert_not_null(result);
|
||||||
@@ -225,7 +225,7 @@ testresult test_built_in_and() {
|
|||||||
Ast_Node* result;
|
Ast_Node* result;
|
||||||
|
|
||||||
// a true case
|
// a true case
|
||||||
result = eval_expr(form, new(Environment));
|
result = eval_expr(form, create_empty_environment());
|
||||||
|
|
||||||
assert_no_error(error);
|
assert_no_error(error);
|
||||||
assert_not_null(result);
|
assert_not_null(result);
|
||||||
@@ -234,7 +234,7 @@ testresult test_built_in_and() {
|
|||||||
|
|
||||||
// a false case
|
// a false case
|
||||||
cond1->value.number->value = 0;
|
cond1->value.number->value = 0;
|
||||||
result = eval_expr(form, new(Environment));
|
result = eval_expr(form, create_empty_environment());
|
||||||
|
|
||||||
assert_no_error(error);
|
assert_no_error(error);
|
||||||
assert_not_null(result);
|
assert_not_null(result);
|
||||||
|
|||||||
Reference in New Issue
Block a user