Make TableSchema struct fields private
This commit is contained in:
parent
966c9bf284
commit
f0d29eb399
3 changed files with 53 additions and 41 deletions
|
|
@ -1,6 +1,6 @@
|
|||
use crate::error::Error;
|
||||
use crate::internals::row::{ColumnPosition, Row};
|
||||
use crate::internals::schema::{ColumnName, TableName, TableSchema};
|
||||
use crate::internals::schema::{TableName, TableSchema};
|
||||
use crate::internals::table::Table;
|
||||
use crate::operation::{ColumnSelection, Condition, Operation};
|
||||
use crate::result::DbResult;
|
||||
|
|
@ -154,25 +154,23 @@ mod tests {
|
|||
let name: ColumnPosition = 1;
|
||||
let age: ColumnPosition = 2;
|
||||
|
||||
TableSchema {
|
||||
table_name: "users".to_string(),
|
||||
primary_key: id,
|
||||
column_name_position_mapping: {
|
||||
let mut mapping: BiMap<ColumnName, ColumnPosition> = BiMap::new();
|
||||
mapping.insert("id".to_string(), id);
|
||||
mapping.insert("name".to_string(), name);
|
||||
mapping.insert("age".to_string(), age);
|
||||
mapping
|
||||
},
|
||||
types: vec![DbType::Uuid, DbType::String, DbType::Int],
|
||||
}
|
||||
TableSchema::new(
|
||||
"users".to_string(),
|
||||
id,
|
||||
vec!(
|
||||
("id".to_string(), id),
|
||||
("name".to_string(), name),
|
||||
("age".to_string(), age),
|
||||
),
|
||||
vec![DbType::Uuid, DbType::String, DbType::Int],
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_table_creation() {
|
||||
let mut state = State::new();
|
||||
let users_schema = users_schema();
|
||||
let users = users_schema.table_name.clone();
|
||||
let users = users_schema.table_name().clone();
|
||||
|
||||
state
|
||||
.interpret(Operation::CreateTable(users.clone(), users_schema))
|
||||
|
|
@ -182,14 +180,14 @@ mod tests {
|
|||
let table = &state.tables[0];
|
||||
assert!(table.rows().len() == 0);
|
||||
|
||||
assert!(table.schema().table_name == users);
|
||||
assert!(table.table_name() == &users);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_select_empty() {
|
||||
let mut state = State::new();
|
||||
let users_schema = users_schema();
|
||||
let users = users_schema.table_name.clone();
|
||||
let users = users_schema.table_name().clone();
|
||||
|
||||
state
|
||||
.interpret(Operation::CreateTable(users.clone(), users_schema))
|
||||
|
|
@ -223,7 +221,7 @@ mod tests {
|
|||
|
||||
let mut state = State::new();
|
||||
let users_schema = users_schema();
|
||||
let users = users_schema.table_name.clone();
|
||||
let users = users_schema.table_name().clone();
|
||||
|
||||
state
|
||||
.interpret(Operation::CreateTable(users.clone(), users_schema))
|
||||
|
|
@ -272,7 +270,7 @@ mod tests {
|
|||
|
||||
let mut state = State::new();
|
||||
let users_schema = users_schema();
|
||||
let users = users_schema.table_name.clone();
|
||||
let users = users_schema.table_name().clone();
|
||||
|
||||
state
|
||||
.interpret(CreateTable(users.clone(), users_schema))
|
||||
|
|
@ -384,7 +382,7 @@ mod tests {
|
|||
|
||||
let mut state = State::new();
|
||||
let users_schema = users_schema();
|
||||
let users = users_schema.table_name.clone();
|
||||
let users = users_schema.table_name().clone();
|
||||
|
||||
state
|
||||
.interpret(CreateTable(users.clone(), users_schema))
|
||||
|
|
@ -453,7 +451,7 @@ mod tests {
|
|||
|
||||
let mut state = State::new();
|
||||
let users_schema = users_schema();
|
||||
let users = users_schema.table_name.clone();
|
||||
let users = users_schema.table_name().clone();
|
||||
|
||||
state
|
||||
.interpret(CreateTable(users.clone(), users_schema))
|
||||
|
|
@ -521,25 +519,23 @@ pub fn example() {
|
|||
use Operation::*;
|
||||
use Value::*;
|
||||
|
||||
let users_schema = {
|
||||
let users_schema: TableSchema = {
|
||||
let id: ColumnPosition = 0;
|
||||
let name: ColumnPosition = 1;
|
||||
let age: ColumnPosition = 2;
|
||||
|
||||
TableSchema {
|
||||
table_name: "users".to_string(),
|
||||
primary_key: id,
|
||||
column_name_position_mapping: {
|
||||
let mut mapping: BiMap<ColumnName, ColumnPosition> = BiMap::new();
|
||||
mapping.insert("id".to_string(), id);
|
||||
mapping.insert("name".to_string(), name);
|
||||
mapping.insert("age".to_string(), age);
|
||||
mapping
|
||||
},
|
||||
types: vec![DbType::Uuid, DbType::String, DbType::Int],
|
||||
}
|
||||
TableSchema::new(
|
||||
"users".to_string(),
|
||||
id,
|
||||
vec!(
|
||||
("id".to_string(), id),
|
||||
("name".to_string(), name),
|
||||
("age".to_string(), age),
|
||||
),
|
||||
vec![DbType::Uuid, DbType::String, DbType::Int],
|
||||
)
|
||||
};
|
||||
let users = users_schema.table_name.clone();
|
||||
let users = users_schema.table_name().clone();
|
||||
|
||||
let mut state = State::new();
|
||||
state
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue