fn test_process_raw_data()

in src/data/interrupts.rs [467:508]


    fn test_process_raw_data() {
        let mut raw_data = Vec::new();
        let file = get_file(
            "tests/test-data/aperf_2023-07-26_18_37_43/".to_string(),
            "interrupts".to_string(),
        )
        .unwrap();
        match bincode::deserialize_from::<_, Data>(file) {
            Ok(v) => raw_data.push(v),
            Err(e) => match *e {
                bincode::ErrorKind::Io(e) if e.kind() == std::io::ErrorKind::UnexpectedEof => {}
                e => panic!("{:#?}", e),
            },
        };
        let mut dv = DataVisualizer::new(
            ProcessedData::InterruptData(InterruptData::new()),
            String::new(),
            String::new(),
            String::new(),
            String::new(),
        );
        let processed_data = dv.data.process_raw_data(raw_data[0].clone()).unwrap();
        match processed_data {
            ProcessedData::InterruptData(ref value) => {
                assert_eq!(
                    value.interrupt_data[0].interrupt_line,
                    InterruptLine::InterruptNr(1),
                    "{:#?}",
                    value
                );
                assert_eq!(
                    value.interrupt_data[0].interrupt_type, *"IO-APIC",
                    "Invalid interrupt type"
                );
                assert_eq!(
                    value.interrupt_data[0].interrupt_device, *"i8042",
                    "Invalid interrupt device"
                );
            }
            _ => unreachable!("Invalid data type in interrupts"),
        }
    }