Import data and check consistency
This commit is contained in:
parent
1ea09a9be9
commit
f6bcb39c52
2 changed files with 22 additions and 0 deletions
|
|
@ -1,5 +1,6 @@
|
|||
mod ingest;
|
||||
mod data;
|
||||
mod test;
|
||||
|
||||
use std::io;
|
||||
|
||||
|
|
@ -9,10 +10,13 @@ use clap::Parser;
|
|||
enum Command {
|
||||
/// Read sift data on stdin and output brood data on stdout.
|
||||
Ingest,
|
||||
/// Test various things
|
||||
Test,
|
||||
}
|
||||
|
||||
fn main() -> io::Result<()> {
|
||||
match Command::parse() {
|
||||
Command::Ingest => ingest::ingest(),
|
||||
Command::Test => test::test(),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
18
brood/src/test.rs
Normal file
18
brood/src/test.rs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
use std::io::{self, BufReader};
|
||||
|
||||
use crate::data::AdjacencyList;
|
||||
|
||||
pub fn test() -> io::Result<()> {
|
||||
eprintln!("IMPORT");
|
||||
let data: AdjacencyList = ciborium::de::from_reader(BufReader::new(io::stdin())).unwrap();
|
||||
|
||||
eprintln!("CONSISTENCY CHECK");
|
||||
let range = 0..data.pages.len() as u32;
|
||||
for link in &data.links {
|
||||
if !range.contains(&link.to) {
|
||||
eprintln!("Invalid link detected!");
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue