]> gitweb.hhaalo.de Git - discspan.git/commitdiff
add test unsorted bigger file
authorBastian Dehn <hhaalo@arcor.de>
Wed, 17 Sep 2025 18:23:56 +0000 (20:23 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Wed, 17 Sep 2025 18:34:34 +0000 (20:34 +0200)
libs/spandisc/tests/splitter-test.c

index 503122a343e0ac82cb2d207c488ae6422810e764..cadc7edcba51f3150eca9f22c9275f1fa411e8c9 100644 (file)
@@ -76,26 +76,29 @@ void split_all_test()
 {
        collection_t* col = init_collection();
        medium_t* srcdata = init_medium();
-       srcdata->filearray = malloc(sizeof(file_size_t*) * 3);
-       for (int i = 0; i < 3; i++) {
+       srcdata->filearray = malloc(sizeof(file_size_t*) * 4);
+       for (int i = 0; i < 4; i++) {
                srcdata->filearray[i] = malloc(sizeof(file_size_t));
        }
        srcdata->filearray[0]->name = strdup("file a");
        srcdata->filearray[0]->fsize = ONE_MB;
        srcdata->filearray[0]->type = S_IFREG;
-       srcdata->filearray[1]->name = strdup("file b");
+       srcdata->filearray[1]->name = strdup("file c");
        srcdata->filearray[1]->fsize = ONE_MB;
        srcdata->filearray[1]->type = S_IFREG;
        srcdata->filearray[2]->name = strdup("bigger file");
        srcdata->filearray[2]->fsize = ONE_GB;
        srcdata->filearray[2]->type = S_IFREG;
-       srcdata->length = 3;
+       srcdata->filearray[3]->name = strdup("file b");
+       srcdata->filearray[3]->fsize = TWO_MB;
+       srcdata->filearray[3]->type = S_IFREG;
+       srcdata->length = 4;
        srcdata->freespace = TWO_MB;
 
        split_all(srcdata, col);
 
        assert_int_equal(srcdata->length, 0);
-       assert_int_equal(col->length, 2);
+       assert_int_equal(col->length, 3);
 
        assert_int_equal(col->disc[0]->nr, 0);
        assert_int_equal(col->disc[0]->length, 1);
@@ -105,14 +108,20 @@ void split_all_test()
        assert_int_equal(col->disc[0]->filearray[0]->type, S_IFREG);
 
        assert_int_equal(col->disc[1]->nr, 1);
-       assert_int_equal(col->disc[1]->length, 2);
-       assert_int_equal(col->disc[1]->freespace, 0);
-       assert_string_equal(col->disc[1]->filearray[0]->name, "file a");
-       assert_int_equal(col->disc[1]->filearray[0]->fsize, ONE_MB);
+       assert_int_equal(col->disc[1]->length, 1);
+       assert_string_equal(col->disc[1]->filearray[0]->name, "file b");
+       assert_int_equal(col->disc[1]->filearray[0]->fsize, TWO_MB);
        assert_int_equal(col->disc[1]->filearray[0]->type, S_IFREG);
-       assert_string_equal(col->disc[1]->filearray[1]->name, "file b");
-       assert_int_equal(col->disc[1]->filearray[1]->fsize, ONE_MB);
-       assert_int_equal(col->disc[1]->filearray[1]->type, S_IFREG);
+
+       assert_int_equal(col->disc[2]->nr, 2);
+       assert_int_equal(col->disc[2]->length, 2);
+       assert_int_equal(col->disc[2]->freespace, 0);
+       assert_string_equal(col->disc[2]->filearray[0]->name, "file a");
+       assert_int_equal(col->disc[2]->filearray[0]->fsize, ONE_MB);
+       assert_int_equal(col->disc[2]->filearray[0]->type, S_IFREG);
+       assert_string_equal(col->disc[2]->filearray[1]->name, "file c");
+       assert_int_equal(col->disc[2]->filearray[1]->fsize, ONE_MB);
+       assert_int_equal(col->disc[2]->filearray[1]->type, S_IFREG);
 
        free_collection(col);
        col = NULL;