Sha256: 0ef227cb98a4d826d1c76682e5678075a2e8f5b411729383acef42353b416f25

Contents?: true

Size: 1.14 KB

Versions: 3

Compression:

Stored size: 1.14 KB

Contents

#include "../foundationallib.h"
#include <assert.h>
#include <stdio.h>

FOUNDATIONAL_LIB_FUNC int is_alphanumeric(const char *str)
{
    if (str == NULL)
    {
        return 0;
    }
    while (*str)
    {
        if ((*str < 'a' || *str > 'z') && (*str < 'A' || *str > 'Z') && (*str < '0' || *str > '9'))
        {
            return 0;
        }
        str++;
    }
    return 1;
}

int main()
{
    // Test cases for empty string
    assert(is_alphanumeric("") == 0);

    // Test cases for only alphabets
    assert(is_alphanumeric("abc") == 1);
    assert(is_alphanumeric("ABC") == 1);
    assert(is_alphanumeric("abC") == 1);
    assert(is_alphanumeric("aBc") == 1);
    assert(is_alphanumeric("123") == 0);

    // Test cases for only digits
    assert(is_alphanumeric("123") == 1);
    assert(is_alphanumeric("456") == 1);
    assert(is_alphanumeric("789") == 1);
    assert(is_alphanumeric("312") == 1);
    assert(is_alphanumeric("abc123") == 0);

    // Test case for special characters
    assert(is_alphanumeric("abc123@") == 0);

    // Test case for NULL input
    assert(is_alphanumeric(NULL) == 0);

    printf("All tests passed!\n");

    return 0;
}

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
foundational_lib-1.0.1 ./tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_alphanumeric.c
foundational_lib2-1.0 ./tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_alphanumeric.c
foundational_lib-1.0 ./tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_alphanumeric.c