void popping_item_takes_us_back_to_the_previous_item() { Breadcrumb *breadcrumb = create_breadcrumb(); push_breadcrumb(breadcrumb, "Hello"); push_breadcrumb(breadcrumb, "Goodbye"); pop_breadcrumb(breadcrumb); assert_string_equal(get_current_from_breadcrumb(breadcrumb), "Hello"); }
void double_item_breadcrumb_does_calls_walker_only_once() { expect(mock_walker, want_string(name, "Hello")); expect(mock_walker, want_string(name, "Goodbye")); Breadcrumb *breadcrumb = create_breadcrumb(); push_breadcrumb(breadcrumb, "Hello"); push_breadcrumb(breadcrumb, "Goodbye"); walk_breadcrumb(breadcrumb, &mock_walker, NULL); }
void last_name_pushed_is_current() { Breadcrumb *breadcrumb = create_breadcrumb(); push_breadcrumb(breadcrumb, "Hello"); assert_string_equal(get_current_from_breadcrumb(breadcrumb), "Hello"); destroy_breadcrumb(breadcrumb); }
void popping_last_name_leaves_breadcrumb_empty() { Breadcrumb *breadcrumb = create_breadcrumb(); push_breadcrumb(breadcrumb, "Hello"); pop_breadcrumb(breadcrumb); assert_equal(get_current_from_breadcrumb(breadcrumb), NULL); }
void can_push_more_than_one_item() { Breadcrumb *breadcrumb = create_breadcrumb(); push_breadcrumb(breadcrumb, "Hello"); push_breadcrumb(breadcrumb, "Goodbye"); assert_string_equal(get_current_from_breadcrumb(breadcrumb), "Goodbye"); }
void reporter_start(TestReporter *reporter, const char *name) { push_breadcrumb((CgreenBreadcrumb *) reporter->breadcrumb, name); }