#include <stdio.h>
#include <stdlib.h>
#include "s21_string.h"
void s21_strlen_test(void);
void s21_strcmp_test(void);
void print_strlen_result(const char *input, size_t result, size_t expected);
void print_strcmp_result(const char *s1, const char *s2, int result, int expected);
int main(void) {
s21_strlen_test();
s21_strcmp_test();
return 0;
}
void s21_strlen_test(void) {
print_strlen_result("hello", s21_strlen("hello"), 5);
print_strlen_result("", s21_strlen(""), 0);
print_strlen_result("21 school", s21_strlen("21 school"), 9);
}
void s21_strcmp_test(void) {
print_strcmp_result("abc", "abc", s21_strcmp("abc", "abc"), 0);
print_strcmp_result("abc", "abd", s21_strcmp("abc", "abd"), -1);
print_strcmp_result("abd", "abc", s21_strcmp("abd", "abc"), 1);
}
void print_strlen_result(const char *input, size_t result, size_t expected) {
printf("s21_strlen_test input: \"%s\" output: %lu result: ", input, result);
if (result == expected) {
printf("SUCCESS\n");
} else {
printf("FAIL\n");
}
}
void print_strcmp_result(const char *s1, const char *s2, int result, int expected) {
printf("s21_strcmp_test input: \"%s\" \"%s\" output: %d result: ", s1, s2, result);
if ((result == 0 && expected == 0) || (result < 0 && expected < 0) ||
(result > 0 && expected > 0)) {
printf("SUCCESS\n");
} else {
printf("FAIL\n");
}
}
CC = gcc
CFLAGS = -Wall -Wextra -Werror -std=c11
BUILD_DIR = ../../build
strlen_tests:
mkdir -p $(BUILD_DIR)
$(CC) $(CFLAGS) s21_string.c s21_string_test.c -o $(BUILD_DIR)/Quest_6
strcmp_tests:
mkdir -p $(BUILD_DIR)
$(CC) $(CFLAGS) s21_string.c s21_string_test.c -o $(BUILD_DIR)/Quest_7
strcpy:
mkdir -p $(BUILD_DIR)
$(CC) $(CFLAGS) s21_string.c s21_string_test.c -o $(BUILD_DIR)/Quest_8
strcat:
mkdir -p $(BUILD_DIR)
$(CC) $(CFLAGS) s21_string.c s21_string_test.c -o $(BUILD_DIR)/Quest_9
strchr:
mkdir -p $(BUILD_DIR)
$(CC) $(CFLAGS) s21_string.c s21_string_test.c -o $(BUILD_DIR)/Quest_10
clean:
rm -rf $(BUILD_DIR)
rebuild: clean strlen_tests strcmp_tests strcpy strcat strchr