Skip to content

Commit 572903c

Browse files
committed
Added tests for 5.3 and 6.1-6.3
1 parent 3f47af6 commit 572903c

File tree

1 file changed

+86
-1
lines changed

1 file changed

+86
-1
lines changed

tests/Unit/Literals/LiteralTest.php

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
use WikibaseSolutions\CypherDSL\Functions\LocalDateTime;
2828
use WikibaseSolutions\CypherDSL\Functions\LocalTime;
2929
use WikibaseSolutions\CypherDSL\Functions\Point;
30+
use WikibaseSolutions\CypherDSL\Functions\Time;
3031
use WikibaseSolutions\CypherDSL\Literals\Boolean;
3132
use WikibaseSolutions\CypherDSL\Literals\Decimal;
3233
use WikibaseSolutions\CypherDSL\Literals\Literal;
@@ -448,12 +449,56 @@ public function testLocalTimeCurrentWithTimezone() {
448449
$this->assertEquals(new LocalTime(new PropertyMap(["timezone" => new StringLiteral("America/Los Angeles")])), $localTime);
449450
}
450451

452+
453+
/**
454+
* @dataProvider provideLocalTimeData
455+
* @param $hour
456+
* @param $minute
457+
* @param $second
458+
* @param $millisecond
459+
* @param $microsecond
460+
* @param $nanosecond
461+
* @param $expected
462+
*/
463+
public function testLocalTime($hour, $minute, $second, $millisecond, $microsecond, $nanosecond, $expected) {
464+
$localTime = Literal::localTime($hour, $minute, $second, $millisecond, $microsecond, $nanosecond);
465+
$this->assertEquals($localTime, $expected);
466+
}
467+
451468
public function testLocalTimeString() {
452469
$localTime = Literal::localTimeString("21:40:32.142");
453470
$this->assertEquals(new LocalTime(new StringLiteral("21:40:32.142")), $localTime);
454471
}
455472

456-
473+
public function testTimeCurrentWithoutTimezone() {
474+
$time = Literal::timeCurrent();
475+
$this->assertEquals($time, new Time());
476+
}
477+
478+
public function testTimeCurrentWithTimezone() {
479+
$time = Literal::timeCurrent("America/Los Angeles");
480+
$this->assertEquals($time, new Time(new PropertyMap(["timezone" => new StringLiteral("America/Los Angeles")])));
481+
}
482+
483+
/**
484+
* @dataProvider provideTimeData
485+
* @param $hour
486+
* @param $minute
487+
* @param $second
488+
* @param $millisecond
489+
* @param $microsecond
490+
* @param $nanosecond
491+
* @param $expected
492+
*/
493+
public function testTime($hour, $minute, $second, $millisecond, $microsecond, $nanosecond, $expected) {
494+
$time = Literal::time($hour, $minute, $second, $millisecond, $microsecond, $nanosecond);
495+
$this->assertEquals($time, $expected);
496+
}
497+
498+
public function testTimeString() {
499+
$time = Literal::timeString("21:40:32.142+0100");
500+
$this->assertEquals($time, new Time(new StringLiteral("21:40:32.142+0100")));
501+
}
457502

458503
public function provideDateYMDData()
459504
{
@@ -695,4 +740,44 @@ public function provideLocalDatetimeYQData() {
695740
[new Decimal(2000), new Decimal(3), new Decimal(8), new Decimal(25), new Decimal(44), new Decimal(18), new Decimal(6), new Decimal(31), new LocalDateTime(new PropertyMap(["year" => new Decimal(2000), "ordinalDay" => new Decimal(3), "hour" => new Decimal(8), "minute" => new Decimal(25), "second" => new Decimal(44), "millisecond" => new Decimal(18), "microsecond" => new Decimal(6), "nanosecond" => new Decimal(31)]))],
696741
];
697742
}
743+
744+
public function provideLocalTimeData() {
745+
// [$hour, $minute, $second, $millisecond, $microsecond, $nanosecond, $expected]
746+
return [
747+
[11, null, null, null, null, null, new LocalTime(new PropertyMap(["hour" => new Decimal(11)]))],
748+
[11, 23, null, null, null, null, new LocalTime(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23)]))],
749+
[11, 23, 2, null, null, null, new LocalTime(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2)]))],
750+
[11, 23, 2, 54, null, null, new LocalTime(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54)]))],
751+
[11, 23, 2, 54, 8, null, new LocalTime(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54), "microsecond" => new Decimal(8)]))],
752+
[11, 23, 2, 54, 8, 29, new LocalTime(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54), "microsecond" => new Decimal(8), "nanosecond" => new Decimal(29)]))],
753+
754+
// types
755+
[new Decimal(11), null, null, null, null, null, new LocalTime(new PropertyMap(["hour" => new Decimal(11)]))],
756+
[new Decimal(11), new Decimal(23), null, null, null, null, new LocalTime(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23)]))],
757+
[new Decimal(11), new Decimal(23), new Decimal(2), null, null, null, new LocalTime(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2)]))],
758+
[new Decimal(11), new Decimal(23), new Decimal(2), new Decimal(54), null, null, new LocalTime(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54)]))],
759+
[new Decimal(11), new Decimal(23), new Decimal(2), new Decimal(54), new Decimal(8), null, new LocalTime(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54), "microsecond" => new Decimal(8)]))],
760+
[new Decimal(11), new Decimal(23), new Decimal(2), new Decimal(54), new Decimal(8), new Decimal(29), new LocalTime(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54), "microsecond" => new Decimal(8), "nanosecond" => new Decimal(29)]))],
761+
];
762+
}
763+
764+
public function provideTimeData() {
765+
// [$hour, $minute, $second, $millisecond, $microsecond, $nanosecond, $expected]
766+
return [
767+
[11, null, null, null, null, null, new Time(new PropertyMap(["hour" => new Decimal(11)]))],
768+
[11, 23, null, null, null, null, new Time(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23)]))],
769+
[11, 23, 2, null, null, null, new Time(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2)]))],
770+
[11, 23, 2, 54, null, null, new Time(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54)]))],
771+
[11, 23, 2, 54, 8, null, new Time(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54), "microsecond" => new Decimal(8)]))],
772+
[11, 23, 2, 54, 8, 29, new Time(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54), "microsecond" => new Decimal(8), "nanosecond" => new Decimal(29)]))],
773+
774+
// types
775+
[new Decimal(11), null, null, null, null, null, new Time(new PropertyMap(["hour" => new Decimal(11)]))],
776+
[new Decimal(11), new Decimal(23), null, null, null, null, new Time(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23)]))],
777+
[new Decimal(11), new Decimal(23), new Decimal(2), null, null, null, new Time(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2)]))],
778+
[new Decimal(11), new Decimal(23), new Decimal(2), new Decimal(54), null, null, new Time(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54)]))],
779+
[new Decimal(11), new Decimal(23), new Decimal(2), new Decimal(54), new Decimal(8), null, new Time(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54), "microsecond" => new Decimal(8)]))],
780+
[new Decimal(11), new Decimal(23), new Decimal(2), new Decimal(54), new Decimal(8), new Decimal(29), new Time(new PropertyMap(["hour" => new Decimal(11), "minute" => new Decimal(23), "second" => new Decimal(2), "millisecond" => new Decimal(54), "microsecond" => new Decimal(8), "nanosecond" => new Decimal(29)]))],
781+
];
782+
}
698783
}

0 commit comments

Comments
 (0)