Commit Diff


commit - 58aaa8cb0ad39a24e0f6d428a33fdd2b4c593550
commit + 6cfd378669b68e2439bb02e8421310d902dca804
blob - 0313e17a37d91721c7efb6ce2ee58f406426e38e
blob + 2ef7ff37f5b755deefd92ec5bc385479d9db7623
--- eur-lex-scraper/src/parsers/chapter.rs
+++ eur-lex-scraper/src/parsers/chapter.rs
@@ -81,7 +81,7 @@ impl ChapterParser {
 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
@@ -91,7 +91,7 @@ mod tests {
 
     #[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();
@@ -130,4 +130,26 @@ mod tests {
         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");
+    }
 }