Commit 01e6c2a1 authored by Germain Clavier's avatar Germain Clavier
Browse files

Better tests.

parent 3bfe8089
Loading
Loading
Loading
Loading
+21 −54
Original line number Diff line number Diff line
use flame::tools;


#[test]
fn test_header_parser() {
    let test:String = "LAMMPS data file via write_data, version 2 Jun 2022, timestep = 0
fn test_line_parser() {
    let test:String = "LAMMPS comment

3 atoms
1 atom types

0 10 xlo xhi
0 10 ylo yhi
0 10 zlo zhi

Masses

1 1

Atoms # atomic

1 1 8.608283632718159 9.42301509409352 2.6146864297868158 0 0 0
2 1 5.034825427008246 0.31095172758724154 6.165685558768774 0 0 0
3 1 6.677186226787598 3.468913619159215 2.0311972089257075 0 0 0

Velocities
1 0 0 0
2 0 0 0
3 0 0 0
".to_string();
    let result1:String = "

Masses

1 1

Atoms # atomic

1 1 8.608283632718159 9.42301509409352 2.6146864297868158 0 0 0
2 1 5.034825427008246 0.31095172758724154 6.165685558768774 0 0 0
3 1 6.677186226787598 3.468913619159215 2.0311972089257075 0 0 0

Velocities
1 0 0 0
2 0 0 0
3 0 0 0
".to_string();
    let result2:String = "LAMMPS data file via write_data, version 2 Jun 2022, timestep = 0
1 atom types".to_string();
    assert_eq!(
        Ok(("\n\n3 atoms\n1 atom types", "LAMMPS comment")),
        tools::parsers::line_parser(&test)
        )
}

3 atoms
1 atom types
#[test]
fn test_head_field_parser() {
    let test:&str = " 34 atoms # Un commentaire";
    assert_eq!(Ok((" atoms # Un commentaire", vec![34 as u32])),
    tools::parsers::head_field_parser(&test));
}

0 10 xlo xhi
0 10 ylo yhi
0 10 zlo zhi
".to_string();
    // let parsed = tools::parsers::header_parser(&test);
    println!("{:?}", tools::parsers::header_parser("Toto Masses Titi"));
    // println!("{}", parsed.0);
    // assert_eq!(
    //     Ok((&result1, &result2)),
    //     tools::parsers::header_parser(&test)
    //     )
#[test]
fn test_box_field_parser() {
    let test:&str = "-0.003 1.000E+7 xlo xhi # Un commentaire";
    assert_eq!(Ok((" xlo xhi # Un commentaire", vec![-0.003 as f64, 1E+7 as f64])),
    tools::parsers::box_field_parser(&test));
}