diff --git a/imageInputTests.c b/imageInputTests.c index 1863e96..b4a965c 100644 --- a/imageInputTests.c +++ b/imageInputTests.c @@ -5,37 +5,40 @@ #include "unity.h" #include "imageInput.h" - static void prepareImageFile(const char *path, unsigned short int width, unsigned short int height, unsigned int short numberOfImages, unsigned char label) { FILE *file = fopen(path, "wb"); - if(file != NULL) + if (file != NULL) { const char *fileTag = "__info2_image_file_format__"; - GrayScalePixelType *zeroBuffer = (GrayScalePixelType *)calloc(numberOfImages * width * height, sizeof(GrayScalePixelType)); + GrayScalePixelType *buffer = (GrayScalePixelType *)calloc(numberOfImages * width * height, sizeof(GrayScalePixelType)); - if(zeroBuffer != NULL) + if (buffer != NULL) { - fwrite(fileTag, sizeof(fileTag[0]), strlen(fileTag), file); + for (int i = 0; i < width * height; i++) + { + buffer[i] = (GrayScalePixelType)i; // füllen des buffers mit Graustufen des Pixel für Test + } + + fwrite(fileTag, 1, strlen(fileTag), file); fwrite(&numberOfImages, sizeof(numberOfImages), 1, file); fwrite(&width, sizeof(width), 1, file); fwrite(&height, sizeof(height), 1, file); - for(int i = 0; i < numberOfImages; i++) + for (int i = 0; i < numberOfImages; i++) { - fwrite(zeroBuffer, sizeof(GrayScalePixelType), width * height, file); + fwrite(buffer, sizeof(GrayScalePixelType), width * height, file); fwrite(&label, sizeof(unsigned char), 1, file); } - free(zeroBuffer); + free(buffer); } fclose(file); } } - void test_readImagesReturnsCorrectNumberOfImages(void) { GrayScaleImageSeries *series = NULL; @@ -92,7 +95,8 @@ void test_readImagesReturnsCorrectLabels(void) TEST_ASSERT_NOT_NULL(series); TEST_ASSERT_NOT_NULL(series->labels); TEST_ASSERT_EQUAL_UINT16(2, series->count); - for (int i = 0; i < 2; i++) { + for (int i = 0; i < 2; i++) + { TEST_ASSERT_EQUAL_UINT8(expectedLabel, series->labels[i]); } clearSeries(series); @@ -110,7 +114,7 @@ void test_readImagesFailsOnWrongFileTag(void) { const char *path = "testFile.info2"; FILE *file = fopen(path, "w"); - if(file != NULL) + if (file != NULL) { fprintf(file, "some_tag "); fclose(file); @@ -119,25 +123,43 @@ void test_readImagesFailsOnWrongFileTag(void) remove(path); } -// Tests der Hilfsfunktionen +// Test der Hilfsfunktionen -void test_read_header(void) +void test_read_GrayScale_Pixel(void) { + GrayScaleImageSeries *series = NULL; + const char *path = "testFile.info2"; + prepareImageFile(path, 8, 8, 1, 1); + series = readImages(path); + + TEST_ASSERT_NOT_NULL(series); + TEST_ASSERT_NOT_NULL(series->images); + TEST_ASSERT_EQUAL_UINT16(1, series->count); + + for (int i = 0; i < (8 * 8); i++) + { + TEST_ASSERT_EQUAL_UINT8((GrayScalePixelType)i, series->images->buffer[i]); + } + + clearSeries(series); + remove(path); } -void setUp(void) { +void setUp(void) +{ // Falls notwendig, kann hier Vorbereitungsarbeit gemacht werden } -void tearDown(void) { +void tearDown(void) +{ // Hier kann Bereinigungsarbeit nach jedem Test durchgeführt werden } int main() { UNITY_BEGIN(); - + printf("\n============================\nImage input tests\n============================\n"); RUN_TEST(test_readImagesReturnsCorrectNumberOfImages); RUN_TEST(test_readImagesReturnsCorrectImageWidth); @@ -145,6 +167,7 @@ int main() RUN_TEST(test_readImagesReturnsCorrectLabels); RUN_TEST(test_readImagesReturnsNullOnNotExistingPath); RUN_TEST(test_readImagesFailsOnWrongFileTag); + RUN_TEST(test_read_GrayScale_Pixel); return UNITY_END(); } \ No newline at end of file