// Copyright 2012-2015 The Rust Project Developers. // Copyright 2017 The UNIC Project Developers. // // See the COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. #[macro_use] extern crate quickcheck; use unic_segment::{Graphemes, WordBounds}; // QuickCheck Graphemes quickcheck! { fn quickcheck_graphemes_new_join_vs_input(input: String) -> bool { let graphemes = Graphemes::new(&input).collect::(); graphemes == input } fn quickcheck_graphemes_new_forward_vs_reverse(input: String) -> bool { let graphemes1 = Graphemes::new(&input).collect::>(); let mut graphemes2 = Graphemes::new(&input).rev().collect::>(); graphemes2.reverse(); graphemes1 == graphemes2 } fn quickcheck_graphemes_new_legacy_join_vs_input(input: String) -> bool { let graphemes = Graphemes::new_legacy(&input).collect::(); graphemes == input } fn quickcheck_graphemes_new_legacy_forward_vs_reverse(input: String) -> bool { let graphemes1 = Graphemes::new_legacy(&input).collect::>(); let mut graphemes2 = Graphemes::new_legacy(&input).rev().collect::>(); graphemes2.reverse(); graphemes1 == graphemes2 } } // QuickCheck Words quickcheck! { fn quickcheck_words_new_join_vs_input(input: String) -> bool { let words = WordBounds::new(&input).collect::(); words == input } fn quickcheck_words_new_forward_vs_reverse(input: String) -> bool { let words1 = WordBounds::new(&input).collect::>(); let mut words2 = WordBounds::new(&input).rev().collect::>(); words2.reverse(); words1 == words2 } }