Added while loop
This commit is contained in:
@@ -114,6 +114,9 @@ int main(){
|
||||
// Tests for comparison expressions
|
||||
failed += runComparisonTests();
|
||||
|
||||
// Tests for while loop
|
||||
failed += runWhileTests();
|
||||
|
||||
printf("\n=== Failed Tests: %d\n", failed);
|
||||
|
||||
if (failed > 0) {
|
||||
|
||||
@@ -4,4 +4,5 @@
|
||||
|
||||
int runFunctionCallTests();
|
||||
int runRecursiveTests();
|
||||
int runComparisonTests();
|
||||
int runComparisonTests();
|
||||
int runWhileTests();
|
||||
@@ -133,4 +133,12 @@ function gte(x, y) {
|
||||
return (x >= y);
|
||||
}
|
||||
|
||||
function myWhile(end) {
|
||||
let cond = 0;
|
||||
while ((cond < end)) {
|
||||
cond = (cond + 1);
|
||||
}
|
||||
return cond;
|
||||
}
|
||||
|
||||
add(1, 1);
|
||||
|
||||
27
src/test/while/while.c
Normal file
27
src/test/while/while.c
Normal file
@@ -0,0 +1,27 @@
|
||||
#include <stdio.h>
|
||||
#include "while.h"
|
||||
|
||||
void printWhileSuccess(char* name, int x, int expected, int result) {
|
||||
printf("SUCCESS:\t%s(%d)\tGOT: %d\tExpected: %d\n", name, x, result, expected);
|
||||
}
|
||||
|
||||
void printWhileError(char* name, int x, int expected, int result) {
|
||||
printf("ERROR:\t\t%s(%d)\tGOT: %d\tExpected: %d\n", name, x, result, expected);
|
||||
}
|
||||
|
||||
int whileTest(char* name, int x, int expected, int result) {
|
||||
if (expected == result) {
|
||||
printWhileSuccess(name, x, expected, result);
|
||||
return 0;
|
||||
} else {
|
||||
printWhileError(name, x, expected, result);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
int runWhileTests() {
|
||||
printf("\nWhile Tests \n");
|
||||
int failed = 0;
|
||||
failed += whileTest("while", 5, 5, myWhile(5));
|
||||
return failed;
|
||||
}
|
||||
1
src/test/while/while.h
Normal file
1
src/test/while/while.h
Normal file
@@ -0,0 +1 @@
|
||||
int myWhile(int x);
|
||||
Reference in New Issue
Block a user