From cb838c6ae47957e9e1c86c193bb355703095193f Mon Sep 17 00:00:00 2001
From: Brandon Rodriguez <brodriguez8774@gmail.com>
Date: Thu, 8 Nov 2018 04:46:47 -0500
Subject: [PATCH] Create basic test for argparse

---
 tests/unit_tests.c | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/tests/unit_tests.c b/tests/unit_tests.c
index a0aa732..9f28cc4 100644
--- a/tests/unit_tests.c
+++ b/tests/unit_tests.c
@@ -13,11 +13,13 @@
 // Import headers.
 #include <fenv.h>
 #include <CUnit/Basic.h>
+#include "../src/argparse.h"
 #include "../src/compute.h"
 #include "../src/helper.h"
 
 
 // Method Declaration.
+void test_argparse();
 void test_computation_struct();
 void test_x_plus_computation();
 void test_x_minus_computation();
@@ -50,7 +52,8 @@ int main(int argc, char* argv[]) {
     }
 
     // Now add tests to given suite.
-    if ((CU_add_test(test_suite, "test_computation_struct", test_computation_struct) == NULL) ||
+    if ((CU_add_test(test_suite, "test_argparse", test_argparse) == NULL) ||
+        (CU_add_test(test_suite, "test_computation_struct", test_computation_struct) == NULL) ||
         (CU_add_test(test_suite, "test_x_plus_computation", test_x_plus_computation) == NULL) ||
         (CU_add_test(test_suite, "test_x_minus_computation", test_x_minus_computation) == NULL)) {
 
@@ -66,6 +69,27 @@ int main(int argc, char* argv[]) {
 }
 
 
+/**
+ * Tests creation and return values of argparse.
+ */
+void test_argparse(void) {
+    int arg_count = 2;
+    char *prologue = "Test Prologue (Title)";
+    char *description = "Test Description";
+    char *epilogue = "Test Epilogue";
+
+    ARGPARSE *argparse = argparse_new(prologue, description, epilogue, arg_count);
+    CU_ASSERT_PTR_NOT_NULL(argparse);
+    CU_ASSERT_EQUAL(argparse->prologue, prologue);
+    CU_ASSERT_EQUAL(argparse->description, description);
+    CU_ASSERT_EQUAL(argparse->epilogue, epilogue);
+    CU_ASSERT_EQUAL(argparse->arguments_size, (arg_count + 1));
+
+    argparse_free(argparse);
+
+}
+
+
 /**
  * Tests that the computation struct will create and free properly.
  */
-- 
GitLab