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
#[derive(Debug, Clone, Copy)]
pub enum Direction {
    IN,
    OUT,
    INOUT,
    BUFFER
}

impl std::fmt::Display for Direction {
    fn fmt( & self, f : & mut std::fmt::Formatter ) -> std::fmt::Result {
        match self {
            Direction::IN => write!( f, "{}", crate::vhdl::keywords::IN ),
            Direction::OUT => write!( f, "{}", crate::vhdl::keywords::OUT ),
            Direction::INOUT => write!( f, "{}", crate::vhdl::keywords::INOUT ),
            Direction::BUFFER => write!( f, "{}", crate::vhdl::keywords::BUFFER ),
        }
    }
}


//------------------------------------------------------------------------------
#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn direction_in() {
        assert_eq!( Direction::IN.to_string(), String::from( "in" ) );
    }
}