Remove fractional seconds from time_02 tests

This commit is contained in:
Aaron Loucks 2020-02-28 19:21:14 -05:00
parent 25db147e87
commit f33b145cd6

View File

@ -3,20 +3,23 @@ use tokio_postgres::types::{Date, Timestamp};
use crate::types::test_type; use crate::types::test_type;
// time 0.2 does not [yet?] support parsing fractional seconds
// https://github.com/time-rs/time/issues/226
#[tokio::test] #[tokio::test]
async fn test_naive_date_time_params() { async fn test_primitive_date_time_params() {
fn make_check(time: &str) -> (Option<PrimitiveDateTime>, &str) { fn make_check(time: &str) -> (Option<PrimitiveDateTime>, &str) {
( (
Some(PrimitiveDateTime::parse(time, "'%Y-%m-%d %H:%M:%S.%f'").unwrap()), Some(PrimitiveDateTime::parse(time, "'%Y-%m-%d %H:%M:%S'").unwrap()),
time, time,
) )
} }
test_type( test_type(
"TIMESTAMP", "TIMESTAMP",
&[ &[
make_check("'1970-01-01 00:00:00.010000000'"), make_check("'1970-01-01 00:00:00'"), // .010000000
make_check("'1965-09-25 11:19:33.100314000'"), make_check("'1965-09-25 11:19:33'"), // .100314000
make_check("'2010-02-09 23:11:45.120200000'"), make_check("'2010-02-09 23:11:45'"), // .120200000
(None, "NULL"), (None, "NULL"),
], ],
) )
@ -24,19 +27,19 @@ async fn test_naive_date_time_params() {
} }
#[tokio::test] #[tokio::test]
async fn test_with_special_naive_date_time_params() { async fn test_with_special_primitive_date_time_params() {
fn make_check(time: &str) -> (Timestamp<PrimitiveDateTime>, &str) { fn make_check(time: &str) -> (Timestamp<PrimitiveDateTime>, &str) {
( (
Timestamp::Value(PrimitiveDateTime::parse(time, "'%Y-%m-%d %H:%M:%S.%f'").unwrap()), Timestamp::Value(PrimitiveDateTime::parse(time, "'%Y-%m-%d %H:%M:%S'").unwrap()),
time, time,
) )
} }
test_type( test_type(
"TIMESTAMP", "TIMESTAMP",
&[ &[
make_check("'1970-01-01 00:00:00.010000000'"), make_check("'1970-01-01 00:00:00'"), // .010000000
make_check("'1965-09-25 11:19:33.100314000'"), make_check("'1965-09-25 11:19:33'"), // .100314000
make_check("'2010-02-09 23:11:45.120200000'"), make_check("'2010-02-09 23:11:45'"), // .120200000
(Timestamp::PosInfinity, "'infinity'"), (Timestamp::PosInfinity, "'infinity'"),
(Timestamp::NegInfinity, "'-infinity'"), (Timestamp::NegInfinity, "'-infinity'"),
], ],
@ -45,19 +48,19 @@ async fn test_with_special_naive_date_time_params() {
} }
#[tokio::test] #[tokio::test]
async fn test_date_time_params() { async fn test_offset_date_time_params() {
fn make_check(time: &str) -> (Option<OffsetDateTime>, &str) { fn make_check(time: &str) -> (Option<OffsetDateTime>, &str) {
( (
Some(OffsetDateTime::parse(time, "'%Y-%m-%d %H:%M:%S.%f'").unwrap()), Some(OffsetDateTime::parse(time, "'%Y-%m-%d %H:%M:%S %z'").unwrap()),
time, time,
) )
} }
test_type( test_type(
"TIMESTAMP WITH TIME ZONE", "TIMESTAMP WITH TIME ZONE",
&[ &[
make_check("'1970-01-01 00:00:00.010000000'"), make_check("'1970-01-01 00:00:00 +0000'"), // .010000000
make_check("'1965-09-25 11:19:33.100314000'"), make_check("'1965-09-25 11:19:33 +0000'"), // .100314000
make_check("'2010-02-09 23:11:45.120200000'"), make_check("'2010-02-09 23:11:45 +0000'"), // .120200000
(None, "NULL"), (None, "NULL"),
], ],
) )
@ -65,19 +68,19 @@ async fn test_date_time_params() {
} }
#[tokio::test] #[tokio::test]
async fn test_with_special_date_time_params() { async fn test_with_special_offset_date_time_params() {
fn make_check(time: &str) -> (Timestamp<OffsetDateTime>, &str) { fn make_check(time: &str) -> (Timestamp<OffsetDateTime>, &str) {
( (
Timestamp::Value(OffsetDateTime::parse(time, "'%Y-%m-%d %H:%M:%S.%f'").unwrap()), Timestamp::Value(OffsetDateTime::parse(time, "'%Y-%m-%d %H:%M:%S %z'").unwrap()),
time, time,
) )
} }
test_type( test_type(
"TIMESTAMP WITH TIME ZONE", "TIMESTAMP WITH TIME ZONE",
&[ &[
make_check("'1970-01-01 00:00:00.010000000'"), make_check("'1970-01-01 00:00:00 +0000'"), // .010000000
make_check("'1965-09-25 11:19:33.100314000'"), make_check("'1965-09-25 11:19:33 +0000'"), // .100314000
make_check("'2010-02-09 23:11:45.120200000'"), make_check("'2010-02-09 23:11:45 +0000'"), // .120200000
(Timestamp::PosInfinity, "'infinity'"), (Timestamp::PosInfinity, "'infinity'"),
(Timestamp::NegInfinity, "'-infinity'"), (Timestamp::NegInfinity, "'-infinity'"),
], ],
@ -130,16 +133,16 @@ async fn test_with_special_date_params() {
async fn test_time_params() { async fn test_time_params() {
fn make_check(time: &str) -> (Option<time_02::Time>, &str) { fn make_check(time: &str) -> (Option<time_02::Time>, &str) {
( (
Some(time_02::Time::parse(time, "'%H:%M:%S.%f'").unwrap()), Some(time_02::Time::parse(time, "'%H:%M:%S'").unwrap()),
time, time,
) )
} }
test_type( test_type(
"TIME", "TIME",
&[ &[
make_check("'00:00:00.010000000'"), make_check("'00:00:00'"), // .010000000
make_check("'11:19:33.100314000'"), make_check("'11:19:33'"), // .100314000
make_check("'23:11:45.120200000'"), make_check("'23:11:45'"), // .120200000
(None, "NULL"), (None, "NULL"),
], ],
) )