#[ allow( unused_imports ) ]
use super::*;
#[ allow( unused_imports ) ]
use the_module::*;
#[ test ]
#[ cfg( feature = "enabled" ) ]
fn zip_equal_length()
{
let vec = vec![ 5, 1, -2 ];
let added = vec![ "a", "b", "c" ];
let mut result = vec![];
let zipped = zip( &vec, &added );
for ( left, right ) in zipped
{
result.push( ( *left, *right ) );
}
assert_eq!( result, vec![ ( 5, "a" ), ( 1, "b" ), ( -2, "c" ) ] );
}
#[ test ]
#[ cfg( feature = "enabled" ) ]
fn zip_empty()
{
let a: Vec< i32 > = vec![];
let b: Vec< &str > = vec![];
let zipped: Vec< _ > = zip( &a, &b ).collect();
assert_eq!( zipped.len(), 0 );
}
#[ test ]
#[ cfg( feature = "enabled" ) ]
fn zip_first_longer()
{
let a = vec![ 1, 2, 3, 4 ];
let b = vec![ "a", "b" ];
let zipped: Vec< _ > = zip( &a, &b ).collect();
assert_eq!( zipped.len(), 2 );
assert_eq!( zipped, vec![ ( &1, &"a" ), ( &2, &"b" ) ] );
}
#[ test ]
#[ cfg( feature = "enabled" ) ]
fn zip_second_longer()
{
let a = vec![ 1, 2 ];
let b = vec![ "a", "b", "c", "d" ];
let zipped: Vec< _ > = zip( &a, &b ).collect();
assert_eq!( zipped.len(), 2 );
assert_eq!( zipped, vec![ ( &1, &"a" ), ( &2, &"b" ) ] );
}
#[ test ]
#[ cfg( feature = "enabled" ) ]
#[ cfg( feature = "no_std" ) ]
fn zip_available_with_no_std()
{
let a = vec![ 1, 2, 3 ];
let b = vec![ "x", "y", "z" ];
let result: Vec< _ > = zip( &a, &b ).collect();
assert_eq!( result, vec![ ( &1, &"x" ), ( &2, &"y" ), ( &3, &"z" ) ] );
}