Implement number evaluation

This commit is contained in:
2024-10-24 13:52:50 +01:00
parent 3bc640b656
commit 29deffdce9
5 changed files with 55 additions and 1 deletions

33
tests/evaluator_tests.c Normal file
View File

@@ -0,0 +1,33 @@
#include "evaluator.h"
#include "memory_pool.h"
#include "testing.h"
static memory_pool_t pool;
static void number_1234_is_evaluated_as_1234(void)
{
init_memory_pool(&pool);
expression_t *expression = allocate_expression(&pool);
expression->is_number = true;
expression->number = 1234;
const int result = evaluate(expression);
ASSERT_EQUAL(1234, result);
}
static void number_4321_is_evaluated_as_4321(void)
{
init_memory_pool(&pool);
expression_t *expression = allocate_expression(&pool);
expression->is_number = true;
expression->number = 4321;
const int result = evaluate(expression);
ASSERT_EQUAL(4321, result);
}
int main(void)
{
TESTING_BEGIN();
RUN_TEST(number_1234_is_evaluated_as_1234);
RUN_TEST(number_4321_is_evaluated_as_4321);
TESTING_END();
}