1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//! This module contains all the global static [`Card`](::card::Card) instances
//
// Export the macros inside this crate
#![macro_use]

#[cfg(test)]
macro_rules! cardtest {
  ($name: ident, $c: expr, $v: expr) => {
    #[test]
    fn $name() {
      use card::keyword::Keyword;
      use folds::FoldList;
      use lines::Lines;

      let lines = Lines::from_strs(&$c);
      let keywords: Vec<_> =
        lines.iter().map(|l| Keyword::parse(l.as_ref())).collect();

      let mut foldlist = FoldList::new();
      let _ = foldlist.recreate_all(&keywords, &lines);

      assert_eq!($v, foldlist.to_vec(1));
    }
  };
  ($name: ident, $c: ident, $v: expr, $w: expr) => {
    #[test]
    fn $name() {
      use card::keyword::Keyword;
      use folds::FoldList;
      use lines::Lines;

      let lines = Lines::from_strs(&$c);
      let keywords: Vec<_> =
        lines.iter().map(|l| Keyword::parse(l.as_ref())).collect();

      let mut foldlist = FoldList::new();
      let _ = foldlist.recreate_all(&keywords, &lines);

      assert_eq!($v, foldlist.to_vec(1));
      assert_eq!($w, foldlist.to_vec(2));
    }
  };
}

pub mod auxiliaries;
pub mod constraint;
pub mod element;
pub mod link;
pub mod node;
pub mod part;

/// All static declarations can be imported via
/// ```rust, compile_fail
/// use carddata::*;
/// ```
pub use self::element::*;
pub use self::{auxiliaries::*, constraint::*, link::*, node::*, part::*};