]> git.sur5r.net Git - cc65/blobdiff - testcode/lib/strcat-test.c
Changed the location of unittest.h
[cc65] / testcode / lib / strcat-test.c
index edd614fc4b37e8cec2ecbec8e7c6a1624fedb087..58119e27a849769f97b320e9c53eacb787c2abbf 100644 (file)
@@ -1,72 +1,44 @@
-#include <stdio.h>
-#include <stdlib.h>
 #include <string.h>
+#include "unittest.h"
 
 #define SourceStringSize 257                            // test correct page passing (>256)
 
-static char SourceString[SourceStringSize+1];          // +1 room for terminating null
+static char SourceString[SourceStringSize+1];           // +1 room for terminating null
 static char DestinationString[2*SourceStringSize+1];    // will contain two times the source buffer
 
 
-int main (void)
+TEST
 {
     unsigned i,j;
     char*    p;
-
-    /* Print a header */
-    printf ("strcat(): ");
-
+    
     for (i=0; i < SourceStringSize; ++i)
       SourceString[i] = (i%128)+1;
 
     SourceString[i] = 0;
 
-    if (strlen(SourceString) != SourceStringSize)
-    {
-        printf ("Fail: Source string initialization or 'strlen()' problem!\n");
-        printf ("Expected length: %u but is %u!\n", SourceStringSize, strlen(SourceString));
-        exit (EXIT_FAILURE);
-    }
+    ASSERT_AreEqual(SourceStringSize, strlen(SourceString), "%u", "Source string initialization or 'strlen()' problem!");
 
     /* Ensure empty destination string */
     DestinationString[0] = 0;
 
-    if (strlen(DestinationString) != 0)
-    {
-        printf ("Fail: Destination string initialization or 'strlen()' problem!\n");
-        printf ("Expected length: %u but is %u!\n", 0, strlen(DestinationString));
-        exit (EXIT_FAILURE);
-    }
-
+    ASSERT_AreEqual(0, strlen(DestinationString), "%u", "Destination string initialization or 'strlen()' problem!");
+    
     /* Test concatenation to empty buffer */
 
-    p = strcat(DestinationString, SourceString);
-
-    if (strlen(DestinationString) != SourceStringSize)
-    {
-        printf ("Fail: String concatenation to empty buffer!\n");
-        printf ("Expected length: %u but is %u!\n", SourceStringSize, strlen(DestinationString));
-        exit (EXIT_FAILURE);
-    }    
-
+    strcat(DestinationString, SourceString);
+    
+    ASSERT_AreEqual(SourceStringSize, strlen(DestinationString), "%u", "Unexpected string length while string concatenation to empty buffer!");
+    
     /* Test concatenation to non empty buffer */
 
     p = strcat(DestinationString, SourceString);
 
-    if (strlen(DestinationString) != 2*SourceStringSize)
-    {
-        printf ("Fail: String concatenation to non-empty buffer!\n");
-        printf ("Expected length: %u but is %u!\n", 2*SourceStringSize, strlen(DestinationString));
-        exit (EXIT_FAILURE);
-    }   
+    ASSERT_AreEqual(2*SourceStringSize, strlen(DestinationString), "%u", "Unexpected string length while string concatenation to non-empty buffer!");
 
     /* Test return value */
 
-    if (p != DestinationString)
-    {
-        printf ("Invalid return value!\n");
-        exit (EXIT_FAILURE);
-    }   
+    ASSERT_IsTrue(p == DestinationString,"Invalid return value!");
 
     /* Test contents */
 
@@ -76,18 +48,9 @@ int main (void)
             unsigned position = j*SourceStringSize+i;
             unsigned current = DestinationString[position];
             unsigned expected = (i%128)+1;
-            if (current != expected)
-            {
-                printf ("Fail: Unexpected destination buffer contents at position %u!\n", position);
-                printf ("Expected %u, but is %u!\n", expected, current);
-                exit (EXIT_FAILURE);
-            }
+            ASSERT_AreEqual(expected, current, "%u", "Unexpected destination buffer contents at position %u!\n" COMMA position);
         }
-
-    /* Test passed */
-    printf ("Passed\n");
-    return EXIT_SUCCESS;
 }
-
+ENDTEST