1#[derive(Debug)]
2pub struct Column {
3    name: String,
4    ordinal: usize,
5    type_data: String,
6}
7
8impl Column {
9    #[must_use]
10    pub fn new(name: String, ordinal: usize, type_data: String) -> Column {
11        Column {
12            name,
13            ordinal,
14            type_data,
15        }
16    }
17
18    #[must_use]
19    pub fn name(&self) -> &str {
20        &self.name
21    }
22
23    #[must_use]
24    pub fn ordinal(&self) -> usize {
25        self.ordinal
26    }
27
28    #[must_use]
29    pub fn type_data(&self) -> &str {
30        &self.type_data
31    }
32}
33
34#[cfg(test)]
35mod tests {
36    use super::*;
37
38    #[test]
39    fn unit_column() {
40        let column = Column::new("name".to_string(), 0, "TEXT".to_string());
41        assert_eq!(column.name(), "name");
42        assert_eq!(column.ordinal(), 0);
43        assert_eq!(column.type_data(), "TEXT");
44    }
45}