Implemented do while loops
This commit is contained in:
30
src/test/loop/loop.c
Normal file
30
src/test/loop/loop.c
Normal file
@@ -0,0 +1,30 @@
|
||||
#include <stdio.h>
|
||||
#include "loop.h"
|
||||
|
||||
void printLoopSuccess(char* name, int x, int expected, int result) {
|
||||
printf("SUCCESS:\t%s(%d)\tGOT: %d\tExpected: %d\n", name, x, result, expected);
|
||||
}
|
||||
|
||||
void printLoopError(char* name, int x, int expected, int result) {
|
||||
printf("ERROR:\t\t%s(%d)\tGOT: %d\tExpected: %d\n", name, x, result, expected);
|
||||
}
|
||||
|
||||
int loopTest(char* name, int x, int expected, int result) {
|
||||
if (expected == result) {
|
||||
printLoopSuccess(name, x, expected, result);
|
||||
return 0;
|
||||
} else {
|
||||
printLoopError(name, x, expected, result);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
int runLoopTests() {
|
||||
printf("\nLoop Tests \n");
|
||||
int failed = 0;
|
||||
failed += loopTest("while", 5, 5, myWhile(5));
|
||||
failed += loopTest("doWhile", 0, 1, myDoWhile(0));
|
||||
failed += loopTest("doWhile", 1, 1, myDoWhile(1));
|
||||
|
||||
return failed;
|
||||
}
|
||||
2
src/test/loop/loop.h
Normal file
2
src/test/loop/loop.h
Normal file
@@ -0,0 +1,2 @@
|
||||
int myWhile(int x);
|
||||
int myDoWhile(int x);
|
||||
@@ -125,7 +125,7 @@ int main(){
|
||||
failed += runComparisonTests();
|
||||
|
||||
// Tests for while loop
|
||||
failed += runWhileTests();
|
||||
failed += runLoopTests();
|
||||
|
||||
printf("\n=== Failed Tests: %d\n", failed);
|
||||
|
||||
|
||||
@@ -5,4 +5,4 @@
|
||||
int runFunctionCallTests();
|
||||
int runRecursiveTests();
|
||||
int runComparisonTests();
|
||||
int runWhileTests();
|
||||
int runLoopTests();
|
||||
@@ -146,4 +146,12 @@ function myWhile(end) {
|
||||
return cond;
|
||||
}
|
||||
|
||||
function myDoWhile(end) {
|
||||
let cond = 0;
|
||||
do {
|
||||
cond = (cond + 1);
|
||||
} while((cond < end));
|
||||
return cond;
|
||||
}
|
||||
|
||||
add(1, 1);
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
#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 +0,0 @@
|
||||
int myWhile(int x);
|
||||
Reference in New Issue
Block a user