}
//-------------------------------------------------------------------------
- // Test sll_length function
+ // Test sll_size function
//-------------------------------------------------------------------------
- TEST(Verify_sll_length_returns_0_when_passed_null_pointer)
+ TEST(Verify_sll_size_returns_0_when_passed_null_pointer)
{
- CHECK( 0 == sll_length(NULL) );
+ CHECK( 0 == sll_size(NULL) );
}
- TEST(Verify_sll_length_returns_0_when_list_is_empty)
+ TEST(Verify_sll_size_returns_0_when_list_is_empty)
{
sll_t* list = sll_new();
- CHECK( 0 == sll_length( list ) );
+ CHECK( 0 == sll_size( list ) );
free( list );
}
- TEST(Verify_sll_length_returns_1_when_list_is_length_1)
+ TEST(Verify_sll_size_returns_1_when_list_is_length_1)
{
sll_node_t node1 = { NULL, NULL };
sll_t list = { &node1, &node1 };
- CHECK( 1 == sll_length( &list ) );
+ CHECK( 1 == sll_size( &list ) );
}
- TEST(Verify_sll_length_returns_2_when_list_is_length_2)
+ TEST(Verify_sll_size_returns_2_when_list_is_length_2)
{
sll_node_t node2 = { NULL, NULL };
sll_node_t node1 = { NULL, &node2 };
sll_t list = { &node1, &node2 };
- CHECK( 2 == sll_length( &list ) );
+ CHECK( 2 == sll_size( &list ) );
}
//-------------------------------------------------------------------------
- // Test sll_index function
+ // Test sll_empty function
//-------------------------------------------------------------------------
- TEST(Verify_sll_index_returns_NULL_on_null_pointer)
+ TEST(Verify_sll_empty_returns_true_when_passed_null_pointer)
{
- CHECK( NULL == sll_index( NULL, 0 ) );
+ CHECK( 1 == sll_empty( NULL ) );
}
- TEST(Verify_sll_index_returns_NULL_when_list_is_empty)
+ TEST(Verify_sll_empty_returns_true_when_head_and_tail_are_null)
{
sll_t list = { NULL, NULL };
- CHECK( NULL == sll_index( &list, 0 ) );
+ CHECK( 1 == sll_empty( &list ) );
}
- TEST(Verify_sll_index_returns_NULL_when_index_out_of_range)
+ TEST(Verify_sll_empty_returns_false_when_head_is_not_null)
+ {
+ sll_t list = { (sll_node_t*)0x1234, NULL };
+ CHECK( 0 == sll_empty( &list ) );
+ }
+
+ TEST(Verify_sll_empty_returns_false_when_tail_is_not_null)
+ {
+ sll_t list = { NULL, (sll_node_t*)0x1234 };
+ CHECK( 0 == sll_empty( &list ) );
+ }
+
+ //-------------------------------------------------------------------------
+ // Test sll_at function
+ //-------------------------------------------------------------------------
+ TEST(Verify_sll_at_returns_NULL_on_null_pointer)
+ {
+ CHECK( NULL == sll_at( NULL, 0 ) );
+ }
+
+ TEST(Verify_sll_at_returns_NULL_when_list_is_empty)
+ {
+ sll_t list = { NULL, NULL };
+ CHECK( NULL == sll_at( &list, 0 ) );
+ }
+
+ TEST(Verify_sll_at_returns_NULL_when_index_out_of_range)
{
sll_node_t node3 = { NULL, NULL };
sll_node_t node2 = { NULL, &node3 };
sll_node_t node1 = { NULL, &node2 };
sll_t list = { &node1, &node3 };
- CHECK( NULL == sll_index( &list, 3 ) );
+ CHECK( NULL == sll_at( &list, 3 ) );
}
- TEST(Verify_sll_index_returns_node_at_index_0_of_3_element_list)
+ TEST(Verify_sll_at_returns_node_at_index_0_of_3_element_list)
{
sll_node_t node3 = { NULL, NULL };
sll_node_t node2 = { NULL, &node3 };
sll_node_t node1 = { NULL, &node2 };
sll_t list = { &node1, &node3 };
- CHECK( &node1 == sll_index( &list, 0 ) );
+ CHECK( &node1 == sll_at( &list, 0 ) );
}
- TEST(Verify_sll_index_returns_node_at_index_1_of_3_element_list)
+ TEST(Verify_sll_at_returns_node_at_index_1_of_3_element_list)
{
sll_node_t node3 = { NULL, NULL };
sll_node_t node2 = { NULL, &node3 };
sll_node_t node1 = { NULL, &node2 };
sll_t list = { &node1, &node3 };
- CHECK( &node2 == sll_index( &list, 1 ) );
+ CHECK( &node2 == sll_at( &list, 1 ) );
}
- TEST(Verify_sll_index_returns_node_at_index_2_of_3_element_list)
+ TEST(Verify_sll_at_returns_node_at_index_2_of_3_element_list)
{
sll_node_t node3 = { NULL, NULL };
sll_node_t node2 = { NULL, &node3 };
sll_node_t node1 = { NULL, &node2 };
sll_t list = { &node1, &node3 };
- CHECK( &node3 == sll_index( &list, 2 ) );
+ CHECK( &node3 == sll_at( &list, 2 ) );
}
//-------------------------------------------------------------------------
CHECK( list.head == &node1 );
CHECK( list.tail == &node1 );
}
+
+ //-------------------------------------------------------------------------
+ // Test sll_clear function
+ //-------------------------------------------------------------------------
+ TEST(Verify_sll_clear_does_nothing_if_passed_a_NULL_pointer)
+ {
+ CHECK( NULL == sll_clear(NULL,0) );
+ }
+
+ TEST(Verify_sll_clear_does_nothing_for_an_empty_list)
+ {
+ sll_t* list = sll_new();
+ CHECK( list == sll_clear(list,0) );
+ CHECK( NULL == list->head );
+ CHECK( NULL == list->tail );
+ sll_free(list,0);
+ }
+
+ TEST(Verify_sll_clear_clears_a_list_of_length_1)
+ {
+ sll_t* list = sll_new();
+ (void)sll_push_front(list,(void*)0x1234);
+ CHECK( list == sll_clear(list,0) );
+ CHECK( NULL == list->head );
+ CHECK( NULL == list->tail );
+ sll_free(list,0);
+ }
+
+ TEST(Verify_sll_clear_clears_a_list_of_length_2)
+ {
+ sll_t* list = sll_new();
+ (void)sll_push_front(list,(void*)0x1234);
+ (void)sll_push_front(list,(void*)0x1234);
+ CHECK( list == sll_clear(list,0) );
+ CHECK( NULL == list->head );
+ CHECK( NULL == list->tail );
+ sll_free(list,0);
+ }
+
+ TEST(Verify_sll_clear_clears_a_list_of_length_3)
+ {
+ sll_t* list = sll_new();
+ (void)sll_push_front(list,(void*)0x1234);
+ (void)sll_push_front(list,(void*)0x1234);
+ (void)sll_push_front(list,(void*)0x1234);
+ CHECK( list == sll_clear(list,0) );
+ CHECK( NULL == list->head );
+ CHECK( NULL == list->tail );
+ sll_free(list,0);
+ }
}