diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-06-12 04:22:51 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-06-12 04:22:51 +0200 |
| commit | 3a8dc44f3cb78b8ef98fc3ce76be256477830ac7 (patch) | |
| tree | e943b7a59e111027ab9f8c56e0eba2626f80400c /src/libcore/tests | |
| parent | 9f22708ceda552784a42253523335533423f2b95 (diff) | |
| parent | 8590074a01364c2263f6e3c3c42e4137e2f77b65 (diff) | |
| download | rust-3a8dc44f3cb78b8ef98fc3ce76be256477830ac7.tar.gz rust-3a8dc44f3cb78b8ef98fc3ce76be256477830ac7.zip | |
Rollup merge of #61671 - koalatux:nth-back-range, r=KodrAus
implement nth_back for Range(Inclusive) This is part of #54054.
Diffstat (limited to 'src/libcore/tests')
| -rw-r--r-- | src/libcore/tests/iter.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/libcore/tests/iter.rs b/src/libcore/tests/iter.rs index bedb9e75612..020618ae7ae 100644 --- a/src/libcore/tests/iter.rs +++ b/src/libcore/tests/iter.rs @@ -1658,6 +1658,23 @@ fn test_range_nth() { } #[test] +fn test_range_nth_back() { + assert_eq!((10..15).nth_back(0), Some(14)); + assert_eq!((10..15).nth_back(1), Some(13)); + assert_eq!((10..15).nth_back(4), Some(10)); + assert_eq!((10..15).nth_back(5), None); + assert_eq!((-120..80_i8).nth_back(199), Some(-120)); + + let mut r = 10..20; + assert_eq!(r.nth_back(2), Some(17)); + assert_eq!(r, 10..17); + assert_eq!(r.nth_back(2), Some(14)); + assert_eq!(r, 10..14); + assert_eq!(r.nth_back(10), None); + assert_eq!(r, 10..10); +} + +#[test] fn test_range_from_nth() { assert_eq!((10..).nth(0), Some(10)); assert_eq!((10..).nth(1), Some(11)); @@ -1715,6 +1732,26 @@ fn test_range_inclusive_nth() { } #[test] +fn test_range_inclusive_nth_back() { + assert_eq!((10..=15).nth_back(0), Some(15)); + assert_eq!((10..=15).nth_back(1), Some(14)); + assert_eq!((10..=15).nth_back(5), Some(10)); + assert_eq!((10..=15).nth_back(6), None); + assert_eq!((-120..=80_i8).nth_back(200), Some(-120)); + + let mut r = 10_u8..=20; + assert_eq!(r.nth_back(2), Some(18)); + assert_eq!(r, 10..=17); + assert_eq!(r.nth_back(2), Some(15)); + assert_eq!(r, 10..=14); + assert_eq!(r.is_empty(), false); + assert_eq!(ExactSizeIterator::is_empty(&r), false); + assert_eq!(r.nth_back(10), None); + assert_eq!(r.is_empty(), true); + assert_eq!(ExactSizeIterator::is_empty(&r), true); +} + +#[test] fn test_range_step() { #![allow(deprecated)] |
