From: Huon Wilson Date: Mon, 5 Aug 2013 09:50:23 +0000 (+1000) Subject: testsuite: remove 2 very outdated testcases; functionality is tested by other class... X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=1016e8b8f7bb9414feaa06c032aa26f484f9cea8;p=rust.git testsuite: remove 2 very outdated testcases; functionality is tested by other class-*.rs tests. Fixes #7305, #7307. --- diff --git a/src/test/run-pass/class-impl-parameterized-trait.rs b/src/test/run-pass/class-impl-parameterized-trait.rs deleted file mode 100644 index 93e9eac1dd9..00000000000 --- a/src/test/run-pass/class-impl-parameterized-trait.rs +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2012 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 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// xfail-test FIXME #7307 -// xfail-fast - -extern mod extra; -use extra::oldmap::*; - -class cat : map { - priv { - // Yes, you can have negative meows - let mut meows : int; - fn meow() { - self.meows += 1; - error!("Meow %d", self.meows); - if self.meows % 5 == 0 { - self.how_hungry += 1; - } - } - } - - let mut how_hungry : int; - let name : str; - - new(in_x : int, in_y : int, in_name: str) - { self.meows = in_x; self.how_hungry = in_y; self.name = in_name; } - - fn speak() { self.meow(); } - - fn eat() -> bool { - if self.how_hungry > 0 { - error!("OM NOM NOM"); - self.how_hungry -= 2; - return true; - } - else { - error!("Not hungry!"); - return false; - } - } - - fn size() -> uint { self.meows as uint } - fn insert(+k: int, +v: bool) -> bool { - if v { self.meows += k; } else { self.meows -= k; }; - true - } - fn contains_key(&&k: int) -> bool { k <= self.meows } - fn get(&&k:int) -> bool { k <= self.meows } - fn [](&&k:int) -> bool { k <= self.meows } - fn find(&&k:int) -> Option { Some(self.get(k)) } - fn remove(&&k:int) -> Option { self.meows -= k; Some(true) } - fn each(f: &fn(&&int, &&bool) -> bool) { - let mut n = num::abs(self.meows); - while n > 0 { - if !f(n, true) { break; } - n -= 1; - } - } - fn each_key(&&f: &fn(&&int) -> bool) { - for self.each |k, _v| { if !f(k) { break; } again;}; - } - fn each_value(&&f: &fn(&&bool) -> bool) { - for self.each |_k, v| { if !f(v) { break; } again;}; - } - fn clear() { } -} - -pub fn main() { - let nyan : cat = cat(0, 2, "nyan"); - for _ in range(1u, 5u) { nyan.speak(); } - // cat returns true if uint input is greater than - // the number of meows so far - assert!((nyan.get(1))); - assert!((!nyan.get(10))); -} diff --git a/src/test/run-pass/class-implements-multiple-traits.rs b/src/test/run-pass/class-implements-multiple-traits.rs deleted file mode 100644 index 4fccc45a753..00000000000 --- a/src/test/run-pass/class-implements-multiple-traits.rs +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2012 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 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// xfail-test FIXME #7305 - -extern mod extra; -use extra::oldmap::*; -use vec::*; -use dvec::{dvec, extensions}; - -enum furniture { chair, couch, bed } -enum body_part { finger, toe, nose, ear } - -trait noisy { - fn speak() -> int; -} - -trait scratchy { - fn scratch() -> Option; -} - -trait bitey { - fn bite() -> body_part; -} - -fn vec_includes(xs: ~[T], x: T) -> bool { - for each(xs) |y| { if y == x { return true; }} - return false; -} - -// vtables other than the 1st one don't seem to work -class cat : noisy, scratchy, bitey { - priv { - let meows : @mut uint; - let scratched : dvec; - let bite_counts : hashmap; - - fn meow() -> uint { - info!("Meow: %u", *self.meows); - *self.meows += 1u; - if *self.meows % 5u == 0u { - *self.how_hungry += 1; - } - *self.meows - } - } - - let how_hungry : @mut int; - let name : str; - - new(in_x : uint, in_y : int, in_name: str) - { self.meows = @mut in_x; self.how_hungry = @mut in_y; - self.name = in_name; self.scratched = dvec(); - let hsher: hashfn = |p| int::hash(p as int); - let eqer : eqfn = |p, q| p == q; - let t : hashmap = - hashmap::(hsher, eqer); - self.bite_counts = t; - do iter(~[finger, toe, nose, ear]) |p| { - self.bite_counts.insert(p, 0u); - }; - } - - fn speak() -> int { self.meow() as int } - fn meow_count() -> uint { *self.meows } - fn scratch() -> Option { - let all = ~[chair, couch, bed]; - log(error, self.scratched); - let mut rslt = None; - for each(all) |thing| { if !self.scratched.contains(thing) { - self.scratched.push(thing); - return Some(thing); }} - rslt - } - fn bite() -> body_part { - error!("In bite()"); - let all = ~[toe, nose, ear]; - let mut min = finger; - do iter(all) |next| { - info!("min = %?", min); - if self.bite_counts.get(next) < self.bite_counts.get(min) { - min = next; - }}; - self.bite_counts.insert(min, self.bite_counts.get(min) + 1u); - info!("Bit %?", min); - min - } -} - -fn annoy_neighbors(critter: T) { - for i in range(0u, 10u) { - let what = critter.speak(); - info!("%u %d", i, what); - } -} - -fn bite_everything(critter: T) -> bool { - let mut left : ~[body_part] = ~[finger, toe, nose, ear]; - while left.len() > 0u { - let part = critter.bite(); - info!("%? %?", left, part); - if vec_includes(left, part) { - left = vec::filter(left, |p| p != part ); - } - else { - return false; - } - } - true -} - -fn scratched_something(critter: T) -> bool { - option::is_some(critter.scratch()) -} - -pub fn main() { - let nyan : cat = cat(0u, 2, "nyan"); - annoy_neighbors(nyan as noisy); - assert_eq!(nyan.meow_count(), 10u); - assert!((bite_everything(nyan as bitey))); - assert!((scratched_something(nyan as scratchy))); -}