Skip to content
Snippets Groups Projects
test_fragment.c 1.86 KiB
Newer Older
  • Learn to ignore specific revisions
  • /*
     * test_fragment.c
     *
     * Copyright 2022 Jonathan Schöbel <jonathan@Ubermos-2019>
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 2 of the License, or
     * (at your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License
     * along with this program; if not, write to the Free Software
     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
     * MA 02110-1301, USA.
     *
     *
     */
    
    
    #include <check.h>
    #include <stdlib.h>
    
    #include "error.h"
    #include "fragment.h"
    
    
    START_TEST(test_fragment)
    {
    	struct SH_Error error;
    	struct SH_Fragment * fragment;
    
    	fragment = SH_Fragment_new (NULL);
    	ck_assert_int_ne ((long int) fragment, (long int) NULL);
    
    	SH_Fragment_free (fragment, NULL);
    
    	fragment = SH_Fragment_new (&error);
    	ck_assert_int_ne ((long int) fragment, (long int) NULL);
    	ck_assert_int_eq (error.type, SUCCESS);
    
    	SH_Fragment_free (fragment, &error);
    	ck_assert_int_eq (error.type, SUCCESS);
    }
    END_TEST
    
    Suite * fragment_suite (void)
    {
    	Suite *s;
    	TCase *tc_core;
    
    	s = suite_create ("Testsuite SeFHT Fragment");
    
    	/* Core test case */
    	tc_core = tcase_create ("Core");
    
    	tcase_add_test (tc_core, test_fragment);
    	suite_add_tcase (s, tc_core);
    
    	return s;
    }
    
    int main (int argc, char **argv)
    {
    	int number_failed;
    	Suite *s;
    	SRunner *sr;
    
    	s = fragment_suite ();
    	sr = srunner_create (s);
    
    	srunner_run_all (sr, CK_NORMAL);
    	number_failed = srunner_ntests_failed (sr);
    	srunner_free (sr);
    
    	return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
    }