Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/ringbuf/src/tests/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 1 kB image not shown  

Quelle  iter.rs   Sprache: unbekannt

 
Spracherkennung für: .rs vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

use crate::RingBuffer;

#[test]
fn iter() {
    let buf = RingBuffer::<i32>::new(2);
    let (mut prod, mut cons) = buf.split();

    prod.push(10).unwrap();
    prod.push(20).unwrap();

    let sum: i32 = cons.iter().sum();

    let first = cons.pop().expect("First element not available");
    let second = cons.pop().expect("Second element not available");

    assert_eq!(sum, first + second);
}

#[test]
fn iter_mut() {
    let buf = RingBuffer::<i32>::new(2);
    let (mut prod, mut cons) = buf.split();

    prod.push(10).unwrap();
    prod.push(20).unwrap();

    for v in cons.iter_mut() {
        *v *= 2;
    }

    let sum: i32 = cons.iter().sum();

    let first = cons.pop().expect("First element not available");
    let second = cons.pop().expect("Second element not available");

    assert_eq!(sum, first + second);
}

#[test]
fn into_iter() {
    let buf = RingBuffer::<i32>::new(2);
    let (mut prod, cons) = buf.split();

    prod.push(10).unwrap();
    prod.push(20).unwrap();

    for (i, v) in cons.into_iter().enumerate() {
        assert_eq!(10 * (i + 1) as i32, v);
    }
    assert!(prod.is_empty());
}

[ Dauer der Verarbeitung: 0.33 Sekunden  ]