diff --git a/hostnames_allocator/tests/ranged_number_allocator_tests.rs b/hostnames_allocator/tests/ranged_number_allocator_tests.rs index a9045a8..68b177b 100644 --- a/hostnames_allocator/tests/ranged_number_allocator_tests.rs +++ b/hostnames_allocator/tests/ranged_number_allocator_tests.rs @@ -2,124 +2,124 @@ extern crate hostnames_allocator; use hostnames_allocator::ranged_number_allocator::RangedNumberAllocator; -fn create_allocator(data: &[(u32, u32)]) -> RangedNumberAllocator { +fn create_allocator(data: [(u32, u32); N]) -> RangedNumberAllocator { RangedNumberAllocator { - tree: data.to_owned().into_iter().collect() + tree: data.into_iter().collect() } } -fn check_allocator(allocator: RangedNumberAllocator, expected: &[(u32, u32)]) { - itertools::assert_equal(allocator.tree, expected.to_owned()); +fn check_allocator(allocator: RangedNumberAllocator, expected: [(u32, u32); N]) { + itertools::assert_equal(allocator.tree, expected); } #[test] fn remove_preserves_tree_when_empty() { - let mut allocator = create_allocator(&[]); + let mut allocator = create_allocator([]); allocator.remove(5); - check_allocator(allocator, &[]); + check_allocator(allocator, []); } #[test] fn remove_preserves_tree_when_not_found() { - let mut allocator = create_allocator(&[(1, 3), (11, 13)]); + let mut allocator = create_allocator([(1, 3), (11, 13)]); allocator.remove(5); - check_allocator(allocator, &[(1, 3), (11, 13)]); + check_allocator(allocator, [(1, 3), (11, 13)]); } #[test] fn remove_removes_range_with_single_value() { - let mut allocator = create_allocator(&[(1, 3), (5, 5), (11, 13)]); + let mut allocator = create_allocator([(1, 3), (5, 5), (11, 13)]); allocator.remove(5); - check_allocator(allocator, &[(1, 3), (11, 13)]); + check_allocator(allocator, [(1, 3), (11, 13)]); } #[test] fn remove_replaces_range_starting_with_value() { - let mut allocator = create_allocator(&[(1, 3), (5, 7), (11, 13)]); + let mut allocator = create_allocator([(1, 3), (5, 7), (11, 13)]); allocator.remove(5); - check_allocator(allocator, &[(1, 3), (6, 7), (11, 13)]); + check_allocator(allocator, [(1, 3), (6, 7), (11, 13)]); } #[test] fn remove_changes_range_ending_with_value() { - let mut allocator = create_allocator(&[(1, 3), (5, 7), (11, 13)]); + let mut allocator = create_allocator([(1, 3), (5, 7), (11, 13)]); allocator.remove(7); - check_allocator(allocator, &[(1, 3), (5, 6), (11, 13)]); + check_allocator(allocator, [(1, 3), (5, 6), (11, 13)]); } #[test] fn remove_splits_range_containing_value() { - let mut allocator = create_allocator(&[(1, 3), (5, 9), (11, 13)]); + let mut allocator = create_allocator([(1, 3), (5, 9), (11, 13)]); allocator.remove(7); - check_allocator(allocator, &[(1, 3), (5, 6), (8, 9), (11, 13)]); + check_allocator(allocator, [(1, 3), (5, 6), (8, 9), (11, 13)]); } #[test] fn remove_removes_last_value() { - let mut allocator = create_allocator(&[(5, 5)]); + let mut allocator = create_allocator([(5, 5)]); allocator.remove(5); - check_allocator(allocator, &[]); + check_allocator(allocator, []); } #[test] fn allocate_initializes_empty() { - let mut allocator = create_allocator(&[]); + let mut allocator = create_allocator([]); assert_eq!(allocator.allocate(), 1); - check_allocator(allocator, &[(1, 1)]); + check_allocator(allocator, [(1, 1)]); } #[test] fn allocate_adds_second_value() { - let mut allocator = create_allocator(&[(1, 1)]); + let mut allocator = create_allocator([(1, 1)]); assert_eq!(allocator.allocate(), 2); - check_allocator(allocator, &[(1, 2)]); + check_allocator(allocator, [(1, 2)]); } #[test] fn allocate_adds_tenth_value() { - let mut allocator = create_allocator(&[(1, 9)]); + let mut allocator = create_allocator([(1, 9)]); assert_eq!(allocator.allocate(), 10); - check_allocator(allocator, &[(1, 10)]); + check_allocator(allocator, [(1, 10)]); } #[test] fn allocate_adds_value_for_two_ranges_starting_with_one() { - let mut allocator = create_allocator(&[(1, 5), (10, 15)]); + let mut allocator = create_allocator([(1, 5), (10, 15)]); assert_eq!(allocator.allocate(), 6); - check_allocator(allocator, &[(1, 6), (10, 15)]); + check_allocator(allocator, [(1, 6), (10, 15)]); } #[test] fn allocate_combines_two_adjacent_ranges_starting_with_one() { - let mut allocator = create_allocator(&[(1, 5), (7, 15)]); + let mut allocator = create_allocator([(1, 5), (7, 15)]); assert_eq!(allocator.allocate(), 6); - check_allocator(allocator, &[(1, 15)]); + check_allocator(allocator, [(1, 15)]); } #[test] fn allocate_combines_two_adjacent_ranges_starting_with_one_extra() { - let mut allocator = create_allocator(&[(1, 5), (7, 15), (20, 30)]); + let mut allocator = create_allocator([(1, 5), (7, 15), (20, 30)]); assert_eq!(allocator.allocate(), 6); - check_allocator(allocator, &[(1, 15), (20, 30)]); + check_allocator(allocator, [(1, 15), (20, 30)]); } #[test] fn allocate_adds_value_for_range_starting_with_two() { - let mut allocator = create_allocator(&[(2, 10)]); + let mut allocator = create_allocator([(2, 10)]); assert_eq!(allocator.allocate(), 1); - check_allocator(allocator, &[(1, 10)]); + check_allocator(allocator, [(1, 10)]); } #[test] fn allocate_adds_value_for_range_starting_with_two_extra() { - let mut allocator = create_allocator(&[(2, 10), (20, 30)]); + let mut allocator = create_allocator([(2, 10), (20, 30)]); assert_eq!(allocator.allocate(), 1); - check_allocator(allocator, &[(1, 10), (20, 30)]); + check_allocator(allocator, [(1, 10), (20, 30)]); } #[test] fn allocate_adds_value_for_range_starting_with_ten() { - let mut allocator = create_allocator(&[(10, 20)]); + let mut allocator = create_allocator([(10, 20)]); assert_eq!(allocator.allocate(), 1); - check_allocator(allocator, &[(1, 1), (10, 20)]); + check_allocator(allocator, [(1, 1), (10, 20)]); }