commit - 58aaa8cb0ad39a24e0f6d428a33fdd2b4c593550
commit + 6cfd378669b68e2439bb02e8421310d902dca804
blob - 0313e17a37d91721c7efb6ce2ee58f406426e38e
blob + 2ef7ff37f5b755deefd92ec5bc385479d9db7623
--- eur-lex-scraper/src/parsers/chapter.rs
+++ eur-lex-scraper/src/parsers/chapter.rs
mod tests {
use super::*;
- use crate::models::articles::Article;
+ use crate::models::{articles::Article, section::Section};
use scraper::{Html, Selector};
use std::fs;
// Well formed chapter
#[test]
fn parsing_chapter_1() {
- let html = Html::parse_fragment(&&get_test_chapter_1());
+ let html = Html::parse_fragment(&get_test_chapter_1());
let selector = Selector::parse(r#"[id*="cpt_"]:not([id*="."])"#).unwrap();
let element_ref = html.select(&selector).next().unwrap();
let chapter_left = ChapterParser::parse(element_ref).unwrap();
assert_eq!(art4.get_title(), "AI literacy");
assert_eq!(art4.get_id(), "d1e2795-1-1");
}
+ #[test]
+ fn parsing_chapter_3() {
+ let html = Html::parse_fragment(&get_test_chapter_1());
+ // we select chapter III
+ let selector = Selector::parse(r#"[id="cpt_III"]"#).unwrap();
+ let element_ref = html.select(&selector).next().unwrap();
+ let chapter_left = ChapterParser::parse(element_ref).unwrap();
+ assert_eq!(chapter_left.get_title(), "HIGH-RISK AI SYSTEMS");
+ assert_eq!(chapter_left.get_id(), "d1e3003-1-1");
+ assert_eq!(chapter_left.len(), 5);
+ //
+ // see sec 1
+ let sec1 = chapter_left.get(0).unwrap().clone();
+ assert!(sec1.is_section());
+ let sec1: Section = sec1.try_into().unwrap();
+ //assert_eq!(sec1.get_number(), 1);
+ assert_eq!(
+ sec1.get_title(),
+ "Classification of AI systems as high-risk"
+ );
+ assert_eq!(sec1.get_id(), "d1e3012-1-1");
+ }
}