From 999db0ec827e2d1ff6be8876c726828f0cc62e40 Mon Sep 17 00:00:00 2001 From: Berack96 Date: Fri, 31 May 2024 15:00:09 +0200 Subject: [PATCH] Addet tests for lists --- tests/es06_list.rs | 24 ++++++++++++++++++++++++ tests/es07_list_generic.rs | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/tests/es06_list.rs b/tests/es06_list.rs index dfe06ba..a5b4811 100644 --- a/tests/es06_list.rs +++ b/tests/es06_list.rs @@ -162,3 +162,27 @@ fn test_get() { assert_eq!(Some(50), list.get(-5)); assert_eq!(None, list.get(-6)); } + +#[derive(Clone, Copy, PartialEq, Debug)] +struct Test(u32); + +#[test] +fn test_struct() { + let mut list = LinkedList::new(); + + list.push_back(Test(50)); + assert_eq!(Some(Test(50)), list.pop_front()); + assert_eq!(None, list.pop_front()); + assert_eq!(None, list.pop_back()); + + list.push_back(Test(10)); + list.push_back(Test(20)); + list.push_back(Test(30)); + list.push_back(Test(40)); + assert_eq!(Some(Test(10)), list.pop_front()); + assert_eq!(Some(Test(40)), list.pop_back()); + assert_eq!(Some(Test(30)), list.pop_back()); + assert_eq!(Some(Test(20)), list.pop_front()); + assert_eq!(None, list.pop_front()); + assert_eq!(None, list.pop_back()); +} diff --git a/tests/es07_list_generic.rs b/tests/es07_list_generic.rs index 1e3c6d8..09be738 100644 --- a/tests/es07_list_generic.rs +++ b/tests/es07_list_generic.rs @@ -185,3 +185,27 @@ fn test_get() { assert_eq!(None, list.get(-1)); assert_eq!(0, list.len()); } + +#[derive(PartialEq, Debug)] +struct Test(u32); + +#[test] +fn test_struct() { + let mut list = LinkedList::new(); + + list.push_back(Test(50)); + assert_eq!(Some(Test(50)), list.pop_front()); + assert_eq!(None, list.pop_front()); + assert_eq!(None, list.pop_back()); + + list.push_back(Test(10)); + list.push_back(Test(20)); + list.push_back(Test(30)); + list.push_back(Test(40)); + assert_eq!(Some(Test(10)), list.pop_front()); + assert_eq!(Some(Test(40)), list.pop_back()); + assert_eq!(Some(Test(30)), list.pop_back()); + assert_eq!(Some(Test(20)), list.pop_front()); + assert_eq!(None, list.pop_front()); + assert_eq!(None, list.pop_back()); +}