diff --git a/info2praktikum-neuronalesnetz/imageInputTests.c b/info2praktikum-neuronalesnetz/imageInputTests.c index c20f29b..ffe6266 100644 --- a/info2praktikum-neuronalesnetz/imageInputTests.c +++ b/info2praktikum-neuronalesnetz/imageInputTests.c @@ -4,6 +4,7 @@ #include #include "unity.h" #include "imageInput.h" +#define FILE_HEADER_STRING "__info2_image_file_format__" static void prepareImageFile(const char *path, unsigned short int width, unsigned short int height, unsigned int short numberOfImages, unsigned char label) @@ -64,6 +65,19 @@ static void prepareImageFileIncorrectTag(const char *path, unsigned short int wi } } +void test_readImagesFailsOnIncompleteHeader(void) { + const char *path = "testIncompleteHeader.info2"; + FILE *file = fopen(path, "wb"); + if (file) { + fwrite(FILE_HEADER_STRING, 1, strlen(FILE_HEADER_STRING), file); + + unsigned char incompleteHeader[2] = {0x01, 0x00}; + fwrite(incompleteHeader, 1, 2, file); + fclose(file); + } + TEST_ASSERT_NULL(readImages(path)); + remove(path); +} void test_readImagesReturnsCorrectNumberOfImages(void) { @@ -179,6 +193,7 @@ int main() RUN_TEST(test_readImagesReturnsNullOnNotExistingPath); RUN_TEST(test_readImagesFailsOnWrongFileTag); RUN_TEST(test_openImageFileIncorrectTag); + RUN_TEST(test_readImagesFailsOnIncompleteHeader); return UNITY_END(); } \ No newline at end of file