| // Copyright 2014 The Rust Project Developers. See the COPYRIGHT | 
 | // file at the top-level directory of this distribution and at | 
 | // http://rust-lang.org/COPYRIGHT. | 
 | // | 
 | // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | 
 | // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | 
 | // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | 
 | // option. This file may not be copied, modified, or distributed | 
 | // except according to those terms. | 
 |  | 
 | use std::cmp::Ordering::{Equal, Less, Greater}; | 
 |  | 
 | #[test] | 
 | fn test_clone() { | 
 |     let a = (1, "2"); | 
 |     let b = a.clone(); | 
 |     assert_eq!(a, b); | 
 | } | 
 |  | 
 | #[test] | 
 | fn test_tuple_cmp() { | 
 |     let (small, big) = ((1, 2, 3), (3, 2, 1)); | 
 |  | 
 |     let nan = 0.0f64/0.0; | 
 |  | 
 |     // PartialEq | 
 |     assert_eq!(small, small); | 
 |     assert_eq!(big, big); | 
 |     assert!(small != big); | 
 |     assert!(big != small); | 
 |  | 
 |     // PartialOrd | 
 |     assert!(small < big); | 
 |     assert!(!(small < small)); | 
 |     assert!(!(big < small)); | 
 |     assert!(!(big < big)); | 
 |  | 
 |     assert!(small <= small); | 
 |     assert!(big <= big); | 
 |  | 
 |     assert!(big > small); | 
 |     assert!(small >= small); | 
 |     assert!(big >= small); | 
 |     assert!(big >= big); | 
 |  | 
 |     assert!(!((1.0f64, 2.0f64) < (nan, 3.0))); | 
 |     assert!(!((1.0f64, 2.0f64) <= (nan, 3.0))); | 
 |     assert!(!((1.0f64, 2.0f64) > (nan, 3.0))); | 
 |     assert!(!((1.0f64, 2.0f64) >= (nan, 3.0))); | 
 |     assert!(((1.0f64, 2.0f64) < (2.0, nan))); | 
 |     assert!(!((2.0f64, 2.0f64) < (2.0, nan))); | 
 |  | 
 |     // Ord | 
 |     assert!(small.cmp(&small) == Equal); | 
 |     assert!(big.cmp(&big) == Equal); | 
 |     assert!(small.cmp(&big) == Less); | 
 |     assert!(big.cmp(&small) == Greater); | 
 | } | 
 |  | 
 | #[test] | 
 | fn test_show() { | 
 |     let s = format!("{:?}", (1,)); | 
 |     assert_eq!(s, "(1,)"); | 
 |     let s = format!("{:?}", (1, true)); | 
 |     assert_eq!(s, "(1, true)"); | 
 |     let s = format!("{:?}", (1, "hi", true)); | 
 |     assert_eq!(s, "(1, \"hi\", true)"); | 
 | } |