iterator-sorted 0.2.0

Stable functions for checking iterator sorting.
Documentation
// Copyright 2021-2022 IOTA Stiftung
// SPDX-License-Identifier: Apache-2.0

extern crate alloc;

use alloc::vec::Vec;

#[test]
fn empty_is_sorted() {
    let vec = Vec::<u8>::new();
    assert!(iterator_sorted::is_sorted(vec.iter()));
}

#[test]
fn is_sorted() {
    let vec = Vec::from([0, 1, 2, 3, 5, 7, 10, 12, 29]);
    assert!(iterator_sorted::is_sorted(vec.iter()));
}

#[test]
fn not_sorted() {
    let vec = Vec::from([0, 1, 2, 3, 5, 7, 10, 29, 12]);
    assert!(!iterator_sorted::is_sorted(vec.iter()));
}

#[test]
fn empty_is_unique_sorted() {
    let vec = Vec::<u8>::new();
    assert!(iterator_sorted::is_unique_sorted(vec.iter()));
}

#[test]
fn is_unique_sorted() {
    let vec = Vec::from([0, 1, 2, 3, 5, 7, 10, 12, 29]);
    assert!(iterator_sorted::is_unique_sorted(vec.iter()));
}

#[test]
fn sorted_not_unique() {
    let vec = Vec::from([0, 1, 2, 3, 5, 7, 10, 12, 12]);
    assert!(iterator_sorted::is_sorted(vec.iter()));
    assert!(!iterator_sorted::is_unique_sorted(vec.iter()));
}

#[test]
fn not_sorted_not_unique() {
    let vec = Vec::from([0, 1, 2, 3, 5, 7, 12, 10, 12]);
    assert!(!iterator_sorted::is_sorted(vec.iter()));
    assert!(!iterator_sorted::is_unique_sorted(vec.iter()));
}