+#include "common.h"
+
+static void test_strings();
+static void test_match_substr( char *str, int str_len, char *substr, int substr_len, int mismatch );
+
+
+int main()
+{
+ test_strings();
+
+ return 0;
+}
+
+
+static void test_strings()
+{
+ char *str = "MARTIN";
+ char *substr = "TXN";
+ int str_len = strlen( str );
+ int substr_len = strlen( substr );
+ int mismatch = 1;
+
+ test_match_substr( str, str_len, substr, substr_len, mismatch );
+}
+
+
+static void test_match_substr( char *str, int str_len, char *substr, int substr_len, int mismatch )
+{
+ fprintf( stderr, "Running test_match_substr\n" );
+
+ fprintf( stderr, " Testing that str is not NULL ... " );
+ assert( str != NULL );
+ fprintf( stderr, "done\n" );
+
+ fprintf( stderr, " Testing that substr is not NULL ... " );
+ assert( substr != NULL );
+ fprintf( stderr, "done\n" );
+
+ fprintf( stderr, " Testing that str_len > zero ... " );
+ assert( str_len > 0 );
+ fprintf( stderr, "done\n" );
+
+ fprintf( stderr, " Testing that substr_len > zero ... " );
+ assert( substr_len > 0 );
+ fprintf( stderr, "done\n" );
+
+ fprintf( stderr, " Testing str_len ... " );
+ assert( strlen( str ) == str_len );
+ fprintf( stderr, "done\n" );
+
+ fprintf( stderr, " Testing substr_len ... " );
+ assert( strlen( substr ) == substr_len );
+ fprintf( stderr, "done\n" );
+
+ fprintf( stderr, " Testing that mismatch >= zero ... " );
+ assert( mismatch > 0 );
+ fprintf( stderr, "done\n" );
+
+ fprintf( stderr, " Testing that mismatch < substr_len ... " );
+ assert( mismatch < substr_len );
+ fprintf( stderr, "done\n" );
+
+ fprintf( stderr, " Testing that substr_len <= str_len ... " );
+ assert( substr_len <= str_len );
+ fprintf( stderr, "done\n" );
+
+ fprintf( stderr, " Testing that str is '\\0' terminated ... " );
+ assert( str[ str_len ] == '\0' );
+ fprintf( stderr, "done\n" );
+
+ fprintf( stderr, " Testing that substr is '\\0' terminated ... " );
+ assert( substr[ substr_len ] == '\0' );
+ fprintf( stderr, "done\n" );
+
+ fprintf( stderr, "test_match_substr OK\n" );
+}
+
+