Sha256: 7eb56bbdfa5633d28a58cc841b2afa6dcc1e536c3a7704420624a1b8cce50ac6

Contents?: true

Size: 2 KB

Versions: 95

Compression:

Stored size: 2 KB

Contents

extern crate grade_school as school;

fn stringvec_to_strvec(v: &Vec<String>) -> Vec<&str> {
    v.iter().map(|s| s.as_ref()).collect()
}

#[test]
fn test_grades_for_empty_school() {
    let s = school::School::new();
    assert_eq!(s.grades(), vec![]);
}

#[test]
#[ignore]
fn test_grades_for_one_student() {
    let mut s = school::School::new();
    s.add(2, "Aimee");
    assert_eq!(s.grades(), vec![2]);
}

#[test]
#[ignore]
fn test_grades_for_several_students_are_sorted() {
    let mut s = school::School::new();
    s.add(2, "Aimee");
    s.add(7, "Logan");
    s.add(4, "Blair");
    assert_eq!(s.grades(), vec![2, 4, 7]);
}

#[test]
#[ignore]
fn test_grades_when_several_students_have_the_same_grade() {
    let mut s = school::School::new();
    s.add(2, "Aimee");
    s.add(2, "Logan");
    s.add(2, "Blair");
    assert_eq!(s.grades(), vec![2]);
}

#[test]
#[ignore]
fn test_grade_for_empty_school() {
    let s = school::School::new();
    assert_eq!(s.grade(1), None);
}

#[test]
#[ignore]
fn test_grade_when_no_students_have_that_grade() {
    let mut s = school::School::new();
    s.add(7, "Logan");
    assert_eq!(s.grade(1), None);
}

#[test]
#[ignore]
fn test_grade_for_one_student() {
    let mut s = school::School::new();
    s.add(2, "Aimee");
    assert_eq!(s.grade(2).map(|v| stringvec_to_strvec(v)),
                Some(vec!["Aimee"]))
}

#[test]
#[ignore]
fn test_grade_returns_students_sorted_by_name() {
    let mut s = school::School::new();
    s.add(2, "James");
    s.add(2, "Blair");
    s.add(2, "Paul");
    assert_eq!(s.grade(2).map(|v| stringvec_to_strvec(v)),
               Some(vec!["Blair", "James", "Paul"]));
}

#[test]
#[ignore]
fn test_add_students_to_different_grades() {
    let mut s = school::School::new();
    s.add(3, "Chelsea");
    s.add(7, "Logan");
    assert_eq!(s.grades(), vec!(3, 7));
    assert_eq!(s.grade(3).map(|v| stringvec_to_strvec(v)),
               Some(vec!["Chelsea"]));
    assert_eq!(s.grade(7).map(|v| stringvec_to_strvec(v)),
               Some(vec!["Logan"]));
}

Version data entries

95 entries across 95 versions & 1 rubygems

Version Path
trackler-2.0.6.39 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.38 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.37 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.36 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.35 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.34 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.33 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.32 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.31 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.30 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.29 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.28 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.27 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.26 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.25 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.24 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.23 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.22 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.21 tracks/rust/exercises/grade-school/tests/grade-school.rs
trackler-2.0.6.20 tracks/rust/exercises/grade-school/tests/grade-school.rs