Port chrono tests to time tests
This commit is contained in:
parent
2082d4f781
commit
25db147e87
@ -63,4 +63,5 @@ geo-types-04 = { version = "0.4", package = "geo-types" }
|
||||
serde-1 = { version = "1.0", package = "serde" }
|
||||
serde_json-1 = { version = "1.0", package = "serde_json" }
|
||||
uuid-08 = { version = "0.8", package = "uuid" }
|
||||
time-02 = { version = "0.2", package = "time" }
|
||||
|
||||
|
@ -22,6 +22,8 @@ mod eui48_04;
|
||||
mod geo_010;
|
||||
#[cfg(feature = "with-serde_json-1")]
|
||||
mod serde_json_1;
|
||||
#[cfg(feature = "with-time-0_2")]
|
||||
mod time_02;
|
||||
#[cfg(feature = "with-uuid-0_8")]
|
||||
mod uuid_08;
|
||||
|
||||
|
147
tokio-postgres/tests/test/types/time_02.rs
Normal file
147
tokio-postgres/tests/test/types/time_02.rs
Normal file
@ -0,0 +1,147 @@
|
||||
use time_02::{OffsetDateTime, PrimitiveDateTime};
|
||||
use tokio_postgres::types::{Date, Timestamp};
|
||||
|
||||
use crate::types::test_type;
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_naive_date_time_params() {
|
||||
fn make_check(time: &str) -> (Option<PrimitiveDateTime>, &str) {
|
||||
(
|
||||
Some(PrimitiveDateTime::parse(time, "'%Y-%m-%d %H:%M:%S.%f'").unwrap()),
|
||||
time,
|
||||
)
|
||||
}
|
||||
test_type(
|
||||
"TIMESTAMP",
|
||||
&[
|
||||
make_check("'1970-01-01 00:00:00.010000000'"),
|
||||
make_check("'1965-09-25 11:19:33.100314000'"),
|
||||
make_check("'2010-02-09 23:11:45.120200000'"),
|
||||
(None, "NULL"),
|
||||
],
|
||||
)
|
||||
.await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_with_special_naive_date_time_params() {
|
||||
fn make_check(time: &str) -> (Timestamp<PrimitiveDateTime>, &str) {
|
||||
(
|
||||
Timestamp::Value(PrimitiveDateTime::parse(time, "'%Y-%m-%d %H:%M:%S.%f'").unwrap()),
|
||||
time,
|
||||
)
|
||||
}
|
||||
test_type(
|
||||
"TIMESTAMP",
|
||||
&[
|
||||
make_check("'1970-01-01 00:00:00.010000000'"),
|
||||
make_check("'1965-09-25 11:19:33.100314000'"),
|
||||
make_check("'2010-02-09 23:11:45.120200000'"),
|
||||
(Timestamp::PosInfinity, "'infinity'"),
|
||||
(Timestamp::NegInfinity, "'-infinity'"),
|
||||
],
|
||||
)
|
||||
.await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_date_time_params() {
|
||||
fn make_check(time: &str) -> (Option<OffsetDateTime>, &str) {
|
||||
(
|
||||
Some(OffsetDateTime::parse(time, "'%Y-%m-%d %H:%M:%S.%f'").unwrap()),
|
||||
time,
|
||||
)
|
||||
}
|
||||
test_type(
|
||||
"TIMESTAMP WITH TIME ZONE",
|
||||
&[
|
||||
make_check("'1970-01-01 00:00:00.010000000'"),
|
||||
make_check("'1965-09-25 11:19:33.100314000'"),
|
||||
make_check("'2010-02-09 23:11:45.120200000'"),
|
||||
(None, "NULL"),
|
||||
],
|
||||
)
|
||||
.await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_with_special_date_time_params() {
|
||||
fn make_check(time: &str) -> (Timestamp<OffsetDateTime>, &str) {
|
||||
(
|
||||
Timestamp::Value(OffsetDateTime::parse(time, "'%Y-%m-%d %H:%M:%S.%f'").unwrap()),
|
||||
time,
|
||||
)
|
||||
}
|
||||
test_type(
|
||||
"TIMESTAMP WITH TIME ZONE",
|
||||
&[
|
||||
make_check("'1970-01-01 00:00:00.010000000'"),
|
||||
make_check("'1965-09-25 11:19:33.100314000'"),
|
||||
make_check("'2010-02-09 23:11:45.120200000'"),
|
||||
(Timestamp::PosInfinity, "'infinity'"),
|
||||
(Timestamp::NegInfinity, "'-infinity'"),
|
||||
],
|
||||
)
|
||||
.await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_date_params() {
|
||||
fn make_check(time: &str) -> (Option<time_02::Date>, &str) {
|
||||
(
|
||||
Some(time_02::Date::parse(time, "'%Y-%m-%d'").unwrap()),
|
||||
time,
|
||||
)
|
||||
}
|
||||
test_type(
|
||||
"DATE",
|
||||
&[
|
||||
make_check("'1970-01-01'"),
|
||||
make_check("'1965-09-25'"),
|
||||
make_check("'2010-02-09'"),
|
||||
(None, "NULL"),
|
||||
],
|
||||
)
|
||||
.await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_with_special_date_params() {
|
||||
fn make_check(date: &str) -> (Date<time_02::Date>, &str) {
|
||||
(
|
||||
Date::Value(time_02::Date::parse(date, "'%Y-%m-%d'").unwrap()),
|
||||
date,
|
||||
)
|
||||
}
|
||||
test_type(
|
||||
"DATE",
|
||||
&[
|
||||
make_check("'1970-01-01'"),
|
||||
make_check("'1965-09-25'"),
|
||||
make_check("'2010-02-09'"),
|
||||
(Date::PosInfinity, "'infinity'"),
|
||||
(Date::NegInfinity, "'-infinity'"),
|
||||
],
|
||||
)
|
||||
.await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_time_params() {
|
||||
fn make_check(time: &str) -> (Option<time_02::Time>, &str) {
|
||||
(
|
||||
Some(time_02::Time::parse(time, "'%H:%M:%S.%f'").unwrap()),
|
||||
time,
|
||||
)
|
||||
}
|
||||
test_type(
|
||||
"TIME",
|
||||
&[
|
||||
make_check("'00:00:00.010000000'"),
|
||||
make_check("'11:19:33.100314000'"),
|
||||
make_check("'23:11:45.120200000'"),
|
||||
(None, "NULL"),
|
||||
],
|
||||
)
|
||||
.await;
|
||||
}
|
Loading…
Reference in New Issue
Block a user