Skip to main content

schema_model/model/
other_sql.rs

1use crate::model::types::{DatabaseType, OtherSqlOrder};
2
3#[derive(Debug, Clone)]
4pub struct OtherSql {
5    database_type: DatabaseType,
6    order: OtherSqlOrder,
7    sql: String,
8}
9impl OtherSql {
10    pub fn new<S: Into<String>>(database_type: DatabaseType, order: OtherSqlOrder, sql: S) -> Self {
11        Self {
12            database_type,
13            order,
14            sql: sql.into(),
15        }
16    }
17    pub fn database_type(&self) -> DatabaseType {
18        self.database_type
19    }
20    pub fn order(&self) -> OtherSqlOrder {
21        self.order
22    }
23    pub fn sql(&self) -> &str {
24        &self.sql
25    }
26}
27
28#[cfg(test)]
29mod tests {
30    use super::*;
31
32    #[test]
33    fn constructor_and_getters() {
34        let o = OtherSql::new(DatabaseType::Postgresql, OtherSqlOrder::Bottom, "SQL");
35        assert_eq!(o.database_type(), DatabaseType::Postgresql);
36        assert_eq!(o.order(), OtherSqlOrder::Bottom);
37        assert_eq!(o.sql(), "SQL");
38    }
39}