Skip to content

Commit

Permalink
PLC-lang#539 fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
99NIMI committed Aug 17, 2022
1 parent 085b7b3 commit 17faa02
Show file tree
Hide file tree
Showing 5 changed files with 77 additions and 16 deletions.
13 changes: 11 additions & 2 deletions tests/correctness/math_operators/addition.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use crate::{compile_and_run, MainType};
use chrono::TimeZone;
use num::{Float, NumCast};

//addition tests
Expand Down Expand Up @@ -234,7 +235,7 @@ fn add_date_basic() {
FUNCTION main : DATE
VAR
date_var : DATE := D#2021-01-01;
date_10_days : DATE := 777600000;
date_10_days : DATE := 777600000000000;
result : DATE;
END_VAR
result := date_10_days + date_var;
Expand All @@ -245,7 +246,15 @@ fn add_date_basic() {
let mut main = MainType::default();

let res: u64 = compile_and_run(prog.to_string(), &mut main);
assert_eq!(res, 1610236800000);
let date_var = chrono::Utc
.ymd(2021, 1, 1)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
let date_10_days = chrono::Utc
.ymd(1970, 1, 10)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
assert_eq!(res, date_10_days + date_var);
}

#[test]
Expand Down
13 changes: 11 additions & 2 deletions tests/correctness/math_operators/division.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use crate::{compile_and_run, MainType};
use chrono::TimeZone;
use num::{Float, NumCast};

//--------------------------------------------------------------
Expand Down Expand Up @@ -196,7 +197,7 @@ fn division_date_basic() {
FUNCTION main : DATE
VAR
date_var : DATE := D#2021-01-01;
date_10_days : DATE := 777600000;
date_10_days : DATE := 777600000000000;
result,div_result : DATE;
END_VAR
div_result := date_10_days / 2;
Expand All @@ -208,7 +209,15 @@ fn division_date_basic() {
let mut main = MainType::default();

let res: u64 = compile_and_run(prog.to_string(), &mut main);
assert_eq!(res, 1609848000000);
let date_var = chrono::Utc
.ymd(2021, 1, 1)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
let date_10_days = chrono::Utc
.ymd(1970, 1, 10)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
assert_eq!(res, date_var + date_10_days / 2);
}

#[test]
Expand Down
37 changes: 31 additions & 6 deletions tests/correctness/math_operators/mixed.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use crate::compile_and_run;
use chrono::TimeZone;
use num::{Float, NumCast};

#[derive(Default)]
Expand Down Expand Up @@ -166,8 +167,8 @@ fn mixed_math_date_basic() {
FUNCTION main : DATE
VAR
date_var : DATE := D#2021-01-01;
date_10_days : DATE := 777600000;
date_1_day : DATE := 86400;
date_10_days : DATE := 777600000000000;
date_1_day : DATE := 86400000000000;
result : DATE;
END_VAR
result := date_var + date_10_days * 2 - date_1_day / 2;
Expand All @@ -178,7 +179,19 @@ fn mixed_math_date_basic() {
let mut main = MainType::default();

let res: u64 = compile_and_run(prog.to_string(), &mut main);
assert_eq!(res, 1611014356800);
let date_var = chrono::Utc
.ymd(2021, 1, 1)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
let date_10_days = chrono::Utc
.ymd(1970, 1, 10)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
let date_1_day = chrono::Utc
.ymd(1970, 1, 2)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
assert_eq!(res, date_var + date_10_days * 2 - date_1_day / 2);
}

#[test]
Expand All @@ -187,8 +200,8 @@ fn mixed_math_dt_basic() {
FUNCTION main : DT
VAR
date_var : DT := D#2021-01-01;
date_10_days : DT := 777600000;
date_1_day : DT := 86400;
date_10_days : DT := 777600000000000;
date_1_day : DT := 86400000000000;
result : DT;
END_VAR
result := date_var + date_10_days * 2 - date_1_day / 2;
Expand All @@ -199,7 +212,19 @@ fn mixed_math_dt_basic() {
let mut main = MainType::default();

let res: u64 = compile_and_run(prog.to_string(), &mut main);
assert_eq!(res, 1611014356800);
let date_var = chrono::Utc
.ymd(2021, 1, 1)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
let date_10_days = chrono::Utc
.ymd(1970, 1, 10)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
let date_1_day = chrono::Utc
.ymd(1970, 1, 2)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
assert_eq!(res, date_var + date_10_days * 2 - date_1_day / 2);
}

#[test]
Expand Down
19 changes: 14 additions & 5 deletions tests/correctness/math_operators/multiplication.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use crate::{assert_almost_eq, compile_and_run, MainType};
use chrono::TimeZone;
use num::{Float, NumCast};

//--------------------------------------------------------------
Expand Down Expand Up @@ -159,19 +160,27 @@ fn multiplication_date_basic() {
FUNCTION main : DATE
VAR
date_var : DATE := D#2021-01-01;
date_10_days : DATE := 777600000;
result,div_result : DATE;
date_10_days : DATE := 777600000000000;
result,mul_result : DATE;
END_VAR
div_result := date_10_days * 2;
result := date_var + div_result;
mul_result := date_10_days * 2;
result := date_var + mul_result;
main := result;
END_FUNCTION
";

let mut main = MainType::default();

let res: u64 = compile_and_run(prog.to_string(), &mut main);
assert_eq!(res, 1611014400000);
let date_var = chrono::Utc
.ymd(2021, 1, 1)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
let date_10_days = chrono::Utc
.ymd(1970, 1, 10)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
assert_eq!(res, date_var + date_10_days * 2);
}

#[test]
Expand Down
11 changes: 10 additions & 1 deletion tests/correctness/math_operators/substraction.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use crate::{compile_and_run, MainType};
use chrono::TimeZone;
use num::{Float, NumCast};

//--------------------------------------------------------------
Expand Down Expand Up @@ -207,7 +208,15 @@ fn substract_date_basic() {
let mut main = MainType::default();

let res: u64 = compile_and_run(prog.to_string(), &mut main);
assert_eq!(res, 777600000);
let date_var = chrono::Utc
.ymd(2021, 1, 1)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
let date_temp = chrono::Utc
.ymd(2021, 1, 10)
.and_hms(0, 0, 0)
.timestamp_nanos() as u64;
assert_eq!(res, date_temp - date_var);
}

#[test]
Expand Down

0 comments on commit 17faa02

Please sign in to comment.