chore: cargo fmt
This commit is contained in:
@ -84,13 +84,17 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_simple_csv() {
|
fn parse_simple_csv() {
|
||||||
let (path, _dir) = create_temp_csv("Region,Product,Revenue\nEast,Shirts,1000\nWest,Shirts,800");
|
let (path, _dir) =
|
||||||
|
create_temp_csv("Region,Product,Revenue\nEast,Shirts,1000\nWest,Shirts,800");
|
||||||
let records = parse_csv(&path).unwrap();
|
let records = parse_csv(&path).unwrap();
|
||||||
|
|
||||||
assert_eq!(records.len(), 2);
|
assert_eq!(records.len(), 2);
|
||||||
assert_eq!(records[0]["Region"], Value::String("East".to_string()));
|
assert_eq!(records[0]["Region"], Value::String("East".to_string()));
|
||||||
assert_eq!(records[0]["Product"], Value::String("Shirts".to_string()));
|
assert_eq!(records[0]["Product"], Value::String("Shirts".to_string()));
|
||||||
assert_eq!(records[0]["Revenue"], Value::Number(serde_json::Number::from(1000)));
|
assert_eq!(
|
||||||
|
records[0]["Revenue"],
|
||||||
|
Value::Number(serde_json::Number::from(1000))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -101,17 +105,24 @@ mod tests {
|
|||||||
|
|
||||||
assert_eq!(records.len(), 2);
|
assert_eq!(records.len(), 2);
|
||||||
assert!(records[0]["Revenue"].is_f64());
|
assert!(records[0]["Revenue"].is_f64());
|
||||||
assert_eq!(records[0]["Revenue"], Value::Number(serde_json::Number::from_f64(1000.50).unwrap()));
|
assert_eq!(
|
||||||
|
records[0]["Revenue"],
|
||||||
|
Value::Number(serde_json::Number::from_f64(1000.50).unwrap())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_csv_with_quoted_fields() {
|
fn parse_csv_with_quoted_fields() {
|
||||||
let (path, _dir) = create_temp_csv("Product,Description,Price\n\"Shirts\",\"A nice shirt\",10.00");
|
let (path, _dir) =
|
||||||
|
create_temp_csv("Product,Description,Price\n\"Shirts\",\"A nice shirt\",10.00");
|
||||||
let records = parse_csv(&path).unwrap();
|
let records = parse_csv(&path).unwrap();
|
||||||
|
|
||||||
assert_eq!(records.len(), 1);
|
assert_eq!(records.len(), 1);
|
||||||
assert_eq!(records[0]["Product"], Value::String("Shirts".to_string()));
|
assert_eq!(records[0]["Product"], Value::String("Shirts".to_string()));
|
||||||
assert_eq!(records[0]["Description"], Value::String("A nice shirt".to_string()));
|
assert_eq!(
|
||||||
|
records[0]["Description"],
|
||||||
|
Value::String("A nice shirt".to_string())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -126,14 +137,16 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_csv_mixed_types() {
|
fn parse_csv_mixed_types() {
|
||||||
let (path, _dir) = create_temp_csv(
|
let (path, _dir) =
|
||||||
"Name,Count,Price,Active\nWidget,5,9.99,true\nGadget,3,19.99,false",
|
create_temp_csv("Name,Count,Price,Active\nWidget,5,9.99,true\nGadget,3,19.99,false");
|
||||||
);
|
|
||||||
let records = parse_csv(&path).unwrap();
|
let records = parse_csv(&path).unwrap();
|
||||||
|
|
||||||
assert_eq!(records.len(), 2);
|
assert_eq!(records.len(), 2);
|
||||||
assert_eq!(records[0]["Name"], Value::String("Widget".to_string()));
|
assert_eq!(records[0]["Name"], Value::String("Widget".to_string()));
|
||||||
assert_eq!(records[0]["Count"], Value::Number(serde_json::Number::from(5)));
|
assert_eq!(
|
||||||
|
records[0]["Count"],
|
||||||
|
Value::Number(serde_json::Number::from(5))
|
||||||
|
);
|
||||||
assert!(records[0]["Price"].is_f64());
|
assert!(records[0]["Price"].is_f64());
|
||||||
assert_eq!(records[0]["Active"], Value::String("true".to_string()));
|
assert_eq!(records[0]["Active"], Value::String("true".to_string()));
|
||||||
}
|
}
|
||||||
@ -150,10 +163,19 @@ mod tests {
|
|||||||
|
|
||||||
assert_eq!(records.len(), 2);
|
assert_eq!(records.len(), 2);
|
||||||
assert_eq!(records[0]["Date"], Value::String("03/31/2026".to_string()));
|
assert_eq!(records[0]["Date"], Value::String("03/31/2026".to_string()));
|
||||||
assert_eq!(records[0]["Amount"], Value::Number(serde_json::Number::from_f64(-50.00).unwrap()));
|
assert_eq!(
|
||||||
|
records[0]["Amount"],
|
||||||
|
Value::Number(serde_json::Number::from_f64(-50.00).unwrap())
|
||||||
|
);
|
||||||
assert_eq!(records[0]["Flag"], Value::String("*".to_string()));
|
assert_eq!(records[0]["Flag"], Value::String("*".to_string()));
|
||||||
assert_eq!(records[0]["CheckNo"], Value::Null);
|
assert_eq!(records[0]["CheckNo"], Value::Null);
|
||||||
assert_eq!(records[0]["Description"], Value::String("VENMO PAYMENT 260331".to_string()));
|
assert_eq!(
|
||||||
assert_eq!(records[1]["Amount"], Value::Number(serde_json::Number::from_f64(-240.00).unwrap()));
|
records[0]["Description"],
|
||||||
|
Value::String("VENMO PAYMENT 260331".to_string())
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
records[1]["Amount"],
|
||||||
|
Value::Number(serde_json::Number::from_f64(-240.00).unwrap())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user