osu_map_analyzer/
lib.rs

1pub mod analyze;
2mod utils;
3
4pub use rosu_map;
5
6#[cfg(test)]
7mod tests {
8    use std::path::Path;
9
10    use crate::analyze;
11
12    #[test]
13    fn jump_map() {
14        let path = Path::new("example-maps/jump-flowerdance.osu");
15        let map = rosu_map::from_path::<rosu_map::Beatmap>(path).unwrap();
16
17        println!("Testing map: {} - {}", map.title, map.artist);
18
19        let mut stream_analyzer = analyze::Stream::new(map.clone());
20        let stream_analasis = stream_analyzer.analyze();
21        println!("stream: \n{:#?}", stream_analasis);
22
23        let mut jump_analyzer = analyze::Jump::new(map);
24        let jump_analasis = jump_analyzer.analyze();
25        println!("jump: \n{:#?}", jump_analasis);
26    }
27
28    #[test]
29    fn stream_map() {
30        let path = Path::new("example-maps/stream-honesty.osu");
31        let map = rosu_map::from_path::<rosu_map::Beatmap>(path).unwrap();
32
33        println!("Testing map: {} - {}", map.title, map.artist);
34
35        let mut stream_analyzer = analyze::Stream::new(map.clone());
36        let stream_analasis = stream_analyzer.analyze();
37        println!("stream: \n{:#?}", stream_analasis);
38
39        let mut jump_analyzer = analyze::Jump::new(map);
40        let jump_analasis = jump_analyzer.analyze();
41        println!("jump: \n{:#?}", jump_analasis);
42    }
43
44    #[test]
45    fn long_stream_map() {
46        let path = Path::new("example-maps/stream-superlong.osu");
47        let map = rosu_map::from_path::<rosu_map::Beatmap>(path).unwrap();
48
49        println!("Testing map: {} - {}", map.title, map.artist);
50
51        let mut stream_analyzer = analyze::Stream::new(map.clone());
52        let stream_analasis = stream_analyzer.analyze();
53        println!("stream: \n{:#?}", stream_analasis);
54
55        let mut jump_analyzer = analyze::Jump::new(map);
56        let jump_analasis = jump_analyzer.analyze();
57        println!("jump: \n{:#?}", jump_analasis);
58    }
59}