run live test on ci
This commit is contained in:
parent
3f2e4eed05
commit
16862adead
@ -4,4 +4,4 @@ test:
|
||||
stage: test
|
||||
image: rust:latest
|
||||
script:
|
||||
- cargo test --verbose
|
||||
- cargo test --verbose -- --include-ignored
|
||||
|
File diff suppressed because it is too large
Load Diff
92
src/law.rs
92
src/law.rs
@ -2,7 +2,7 @@ use log::debug;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::overview;
|
||||
use crate::{overview, par};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, PartialEq)]
|
||||
pub(crate) struct Law {
|
||||
@ -182,7 +182,14 @@ impl LawBuilder {
|
||||
history: Vec::new(),
|
||||
};
|
||||
|
||||
overview::parse(law_id.unwrap()).unwrap();
|
||||
let paragraphs = overview::parse(law_id.unwrap()).unwrap();
|
||||
|
||||
for paragraph in paragraphs {
|
||||
let cont = par::parse(¶graph, &mut builder).unwrap();
|
||||
if !cont {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
builder.into()
|
||||
}
|
||||
@ -436,75 +443,11 @@ pub(crate) enum Content {
|
||||
List(Vec<Box<Content>>),
|
||||
}
|
||||
|
||||
//#[cfg(test)]
|
||||
//mod tests {
|
||||
// use super::*;
|
||||
//
|
||||
// //#[test]
|
||||
// //fn atest() {
|
||||
// // let mut builder = LawBuilder::test("test");
|
||||
// // builder.new_header("h11");
|
||||
// // builder.new_par("§11".into(), Content::Text("hi".into()));
|
||||
// // builder.new_header("h21");
|
||||
// // builder.new_header("h31");
|
||||
// // builder.new_par("§211".into(), Content::Text("hi".into()));
|
||||
// // builder.new_par("§212".into(), Content::Text("hi".into()));
|
||||
// // builder.new_header("h22");
|
||||
// // builder.new_par("§22".into(), Content::Text("hi".into()));
|
||||
//
|
||||
// // let law: Law = builder.into();
|
||||
//
|
||||
// // println!("{law:#?}");
|
||||
// // assert!(false);
|
||||
// //}
|
||||
//
|
||||
// // #[test]
|
||||
// // fn test() {
|
||||
// // let mut builder = LawBuilder::test("UrhG");
|
||||
// //
|
||||
// // builder.new_header("1. Hauptstück");
|
||||
// // builder.new_header("2. Abschnitt");
|
||||
// //
|
||||
// // builder.new_par(Content::Text("Mein erster Paragraph".into()));
|
||||
// //
|
||||
// // let expected = LawBuilder {
|
||||
// // name: "UrhG".into(),
|
||||
// // classifiers: vec![
|
||||
// // Classifier {
|
||||
// // name: "Hauptstück".into(),
|
||||
// // parent: None,
|
||||
// // instances: vec![ClassifierInstance {
|
||||
// // name: "1. Hauptstück".into(),
|
||||
// // desc: None,
|
||||
// // content: vec![],
|
||||
// // }],
|
||||
// // },
|
||||
// // Classifier {
|
||||
// // name: "Abschnitt".into(),
|
||||
// // parent: Some(Box::new(Classifier {
|
||||
// // name: "Hauptstück".into(),
|
||||
// // parent: None,
|
||||
// // instances: vec![],
|
||||
// // })),
|
||||
// // instances: vec![ClassifierInstance {
|
||||
// // name: "2. Abschnitt".into(),
|
||||
// // desc: None,
|
||||
// // content: vec![Content::Text("Mein erster Paragraph".into())],
|
||||
// // }],
|
||||
// // },
|
||||
// // ],
|
||||
// // next_para_header: None,
|
||||
// // last_header_index: Some(1),
|
||||
// // };
|
||||
// // assert_eq!(builder, expected);
|
||||
// // }
|
||||
//}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use pretty_assertions::assert_eq;
|
||||
use std::{
|
||||
fs::{self, File},
|
||||
fs::File,
|
||||
io::{self, BufRead, Read},
|
||||
path::Path,
|
||||
};
|
||||
@ -520,6 +463,21 @@ mod tests {
|
||||
buf_reader.lines().collect()
|
||||
}
|
||||
|
||||
#[ignore]
|
||||
#[test]
|
||||
fn test_with_live_data() {
|
||||
let law = LawBuilder::new("UrhG");
|
||||
|
||||
let path = Path::new("./data/urhg/builder.result");
|
||||
let mut file = File::open(path).unwrap();
|
||||
let mut json = String::new();
|
||||
file.read_to_string(&mut json).unwrap();
|
||||
|
||||
let expected: Law = serde_json::from_str(&json).unwrap();
|
||||
|
||||
assert_eq!(law, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_builder_full_urhg() {
|
||||
let mut builder = LawBuilder::test("UrhG");
|
||||
|
Loading…
Reference in New Issue
Block a user