time: use operator overloading (#7882)

pull/7887/head
Swastik Baranwal 2021-01-05 16:13:34 +05:30 committed by GitHub
parent ad8177ef2e
commit 7c290a7fe8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 20 deletions

View File

@ -1,23 +1,23 @@
module time
// eq returns true if provided time is equal to time
// operator `==` returns true if provided time is equal to time
[inline]
pub fn (t1 Time) eq(t2 Time) bool {
pub fn (t1 Time) == (t2 Time) bool {
if t1.unix == t2.unix && t1.microsecond == t2.microsecond {
return true
}
return false
}
// ne returns true if provided time is not equal to time
// operator `!=` returns true if provided time is not equal to time
[inline]
pub fn (t1 Time) ne(t2 Time) bool {
return !t1.eq(t2)
pub fn (t1 Time) != (t2 Time) bool {
return !(t1 == t2)
}
// lt returns true if provided time is less than time
// operator `<` returns true if provided time is less than time
[inline]
pub fn (t1 Time) lt(t2 Time) bool {
pub fn (t1 Time) < (t2 Time) bool {
if t1.unix < t2.unix || (t1.unix == t2.unix && t1.microsecond < t2.microsecond) {
return true
}
@ -27,12 +27,12 @@ pub fn (t1 Time) lt(t2 Time) bool {
// le returns true if provided time is less or equal to time
[inline]
pub fn (t1 Time) le(t2 Time) bool {
return t1.lt(t2) || t1.eq(t2)
return t1 < t2 || t1 == t2
}
// gt returns true if provided time is greater than time
// operator `>` returns true if provided time is greater than time
[inline]
pub fn (t1 Time) gt(t2 Time) bool {
pub fn (t1 Time) > (t2 Time) bool {
if t1.unix > t2.unix || (t1.unix == t2.unix && t1.microsecond > t2.microsecond) {
return true
}
@ -42,7 +42,7 @@ pub fn (t1 Time) gt(t2 Time) bool {
// ge returns true if provided time is greater or equal to time
[inline]
pub fn (t1 Time) ge(t2 Time) bool {
return t1.gt(t2) || t1.eq(t2)
return t1 > t2 || t1 == t2
}
// Time subtract using eperator overloading

View File

@ -3,7 +3,7 @@ module time
fn assert_greater_time(ms int, t1 Time) {
sleep_ms(ms)
t2 := now()
assert t2.gt(t1)
assert t2 > t1
}
// Tests the now in all platform and the gt operator function with at least ms resolution
@ -50,7 +50,7 @@ fn test_time1_should_be_same_as_time2() {
second: 3
microsecond: 100
})
assert t1.eq(t2)
assert t1 == t2
}
fn test_time1_should_not_be_same_as_time2() {
@ -92,8 +92,8 @@ fn test_time1_should_not_be_same_as_time2() {
second: 4
microsecond: 0
})
assert t1.ne(t2)
assert t3.ne(t4)
assert t1 != t2
assert t3 != t4
}
fn test_time1_should_be_greater_than_time2() {
@ -135,8 +135,8 @@ fn test_time1_should_be_greater_than_time2() {
second: 4
microsecond: 0
})
assert t1.gt(t2)
assert t3.gt(t4)
assert t1 > t2
assert t3 > t4
}
fn test_time2_should_be_less_than_time1() {
@ -178,8 +178,8 @@ fn test_time2_should_be_less_than_time1() {
second: 2
microsecond: 0
})
assert t2.lt(t1)
assert t4.lt(t3)
assert t2 < t1
assert t4 < t3
}
fn test_time1_should_be_greater_or_equal_to_time2_when_gt() {
@ -365,7 +365,7 @@ fn test_time2_copied_from_time1_should_be_equal() {
microsecond: 100
})
t2 := new_time(t1)
assert t2.eq(t1)
assert t2 == t1
}
fn test_subtract() {