Skip to content

Commit 7e3780d

Browse files
Merge pull request #72 from wgevaert/5.0.0-fix-tests
5.0.0 fix tests
2 parents 16129ac + c4810fc commit 7e3780d

File tree

79 files changed

+940
-1072
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+940
-1072
lines changed

tests/Unit/Clauses/CreateClauseTest.php

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -52,18 +52,6 @@ public function testMultiplePatterns(): void
5252
$this->assertEquals([$patternA, $patternB], $createClause->getPatterns());
5353
}
5454

55-
public function testSetPatterns(): void
56-
{
57-
$createClause = new CreateClause();
58-
59-
$pathExpression = Query::node()->relationshipTo(Query::node());
60-
$createClause->addPattern($pathExpression);
61-
62-
$createClause->setPatterns([Query::node()->withVariable('a'), Query::node()->withVariable('b')]);
63-
64-
$this->assertSame("CREATE (a), (b)", $createClause->toQuery());
65-
}
66-
6755
public function testAddPattern(): void
6856
{
6957
$createClause = new CreateClause();
@@ -74,13 +62,13 @@ public function testAddPattern(): void
7462
$this->assertSame("CREATE (a), (b)", $createClause->toQuery());
7563
}
7664

77-
public function testSetPatternsDoesNotAcceptAnyType(): void
65+
public function testAddPatternDoesNotAcceptAnyType(): void
7866
{
7967
$createClause = new CreateClause();
8068

8169
$this->expectException(TypeError::class);
8270

83-
$createClause->setPatterns([Query::function()::date()]);
71+
$createClause->addPattern(Query::function()::date());
8472
$createClause->toQuery();
8573
}
8674

@@ -93,7 +81,7 @@ public function testGetPatterns(): void
9381
Query::node('b')
9482
];
9583

96-
$createClause->setPatterns($patterns);
84+
$createClause->addPattern(...$patterns);
9785

9886
$this->assertSame($patterns, $createClause->getPatterns());
9987

tests/Unit/Clauses/DeleteClauseTest.php

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,13 @@
2525
use TypeError;
2626
use WikibaseSolutions\CypherDSL\Clauses\DeleteClause;
2727
use WikibaseSolutions\CypherDSL\Expressions\Variable;
28-
use WikibaseSolutions\CypherDSL\Tests\Unit\Expressions\TestHelper;
2928
use WikibaseSolutions\CypherDSL\Types\AnyType;
3029

3130
/**
3231
* @covers \WikibaseSolutions\CypherDSL\Clauses\DeleteClause
3332
*/
3433
class DeleteClauseTest extends TestCase
3534
{
36-
use TestHelper;
37-
3835
public function testEmptyClause(): void
3936
{
4037
$delete = new DeleteClause();
@@ -98,54 +95,52 @@ public function testAcceptsVariable(): void
9895
public function testDoesNotAcceptAnyType(): void
9996
{
10097
$delete = new DeleteClause();
101-
$variable = $this->getQueryConvertibleMock(AnyType::class, "a");
98+
$variable = $this->createMock(AnyType::class);
10299

103100
$this->expectException(TypeError::class);
104101

105102
$delete->addStructure($variable);
106103
$delete->toQuery();
107104
}
108105

109-
public function testSetVariables(): void
106+
public function testAddStructure(): void
110107
{
111108
$delete = new DeleteClause();
112109

113110
$variableA = new Variable('a');
114111
$variableB = new Variable('b');
115112

116-
$variables = [$variableA, $variableB];
117-
118-
$delete->setPatterns($variables);
113+
$delete->addStructure($variableA, $variableB);
119114

120115
$this->assertSame("DELETE a, b", $delete->toQuery());
121-
$this->assertSame($variables, $delete->getStructural());
116+
$this->assertSame([$variableA, $variableB], $delete->getStructural());
122117
}
123118

124-
public function testSetVariablesDoesNotAcceptAnyType(): void
119+
public function testAddStructureDoesNotAcceptAnyType(): void
125120
{
126121
$delete = new DeleteClause();
127122

128123
$variableA = new Variable('a');
129-
$variableB = $this->getQueryConvertibleMock(AnyType::class, "b");
124+
$variableB = $this->createMock(AnyType::class);
130125

131126
$variables = [$variableA, $variableB];
132127

133128
$this->expectException(TypeError::class);
134129

135-
$delete->setPatterns($variables);
130+
$delete->addStructure($variableA, $variableB);
136131
$delete->toQuery();
137132
}
138133

139-
public function testGetVariables(): void
134+
public function testGetStructural(): void
140135
{
141136
$delete = new DeleteClause();
142137

143138
$this->assertSame([], $delete->getStructural());
144139

145-
$variables = [new Variable('a')];
146-
$delete->setPatterns($variables);
140+
$variable = new Variable('a');
141+
$delete->addStructure($variable);
147142

148-
$this->assertSame($variables, $delete->getStructural());
143+
$this->assertSame([$variable], $delete->getStructural());
149144
}
150145

151146
public function testDetachesDeletion(): void

tests/Unit/Clauses/OptionalMatchTest.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
use PHPUnit\Framework\TestCase;
2525
use TypeError;
2626
use WikibaseSolutions\CypherDSL\Clauses\OptionalMatchClause;
27-
use WikibaseSolutions\CypherDSL\Tests\Unit\Expressions\TestHelper;
2827
use WikibaseSolutions\CypherDSL\Types\AnyType;
2928
use WikibaseSolutions\CypherDSL\Patterns\Node;
3029
use WikibaseSolutions\CypherDSL\Patterns\Path;
@@ -35,7 +34,6 @@
3534
*/
3635
class OptionalMatchTest extends TestCase
3736
{
38-
use TestHelper;
3937

4038
public function testEmptyClause(): void
4139
{

tests/Unit/Clauses/RemoveClauseTest.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,13 @@
2727
use WikibaseSolutions\CypherDSL\Expressions\Label;
2828
use WikibaseSolutions\CypherDSL\Expressions\Property;
2929
use WikibaseSolutions\CypherDSL\Expressions\Variable;
30-
use WikibaseSolutions\CypherDSL\Tests\Unit\Expressions\TestHelper;
3130
use WikibaseSolutions\CypherDSL\Types\AnyType;
3231

3332
/**
3433
* @covers \WikibaseSolutions\CypherDSL\Clauses\RemoveClause
3534
*/
3635
class RemoveClauseTest extends TestCase
3736
{
38-
use TestHelper;
39-
4037
public function testEmptyClause(): void
4138
{
4239
$remove = new RemoveClause();
@@ -99,7 +96,7 @@ public function testAcceptsLabel(): void
9996
public function testDoesNotAcceptAnyType(): void
10097
{
10198
$remove = new RemoveClause();
102-
$expression = $this->getQueryConvertibleMock(AnyType::class, "(a)");
99+
$expression = $this->createMock(AnyType::class);
103100

104101
$this->expectException(TypeError::class);
105102

tests/Unit/Clauses/ReturnClauseTest.php

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,18 @@
2222
namespace WikibaseSolutions\CypherDSL\Tests\Unit\Clauses;
2323

2424
use PHPUnit\Framework\TestCase;
25+
use WikibaseSolutions\CypherDSL\Syntax\Alias;
26+
use WikibaseSolutions\CypherDSL\Patterns\Node;
27+
use WikibaseSolutions\CypherDSL\Patterns\Path;
28+
use WikibaseSolutions\CypherDSL\Expressions\Variable;
2529
use WikibaseSolutions\CypherDSL\Clauses\ReturnClause;
26-
use WikibaseSolutions\CypherDSL\Tests\Unit\Expressions\TestHelper;
2730
use WikibaseSolutions\CypherDSL\Types\AnyType;
2831

2932
/**
3033
* @covers \WikibaseSolutions\CypherDSL\Clauses\ReturnClause
3134
*/
3235
class ReturnClauseTest extends TestCase
3336
{
34-
use TestHelper;
3537

3638
public function testEmptyClause(): void
3739
{
@@ -45,7 +47,8 @@ public function testEmptyClause(): void
4547
public function testSingleColumn(): void
4648
{
4749
$return = new ReturnClause();
48-
$column = $this->getQueryConvertibleMock(AnyType::class, "a");
50+
$column = $this->createMock(AnyType::class);
51+
$column->method('toQuery')->willReturn('a');
4952
$return->addColumn($column);
5053

5154
$this->assertSame("RETURN a", $return->toQuery());
@@ -57,73 +60,73 @@ public function testMultipleColumns(): void
5760
{
5861
$return = new ReturnClause();
5962

60-
$columnA = $this->getQueryConvertibleMock(AnyType::class, "a");
61-
$columnB = $this->getQueryConvertibleMock(AnyType::class, "b");
62-
$columnC = $this->getQueryConvertibleMock(AnyType::class, "c");
63+
$columnA = new Variable('a');
64+
$columnB = (new Path)->withVariable('b');
65+
$columnC = (new Node)->withVariable('c');
6366

6467
$return->addColumn($columnA);
6568
$return->addColumn($columnB);
6669
$return->addColumn($columnC);
6770

6871
$this->assertSame("RETURN a, b, c", $return->toQuery());
69-
$this->assertSame([$columnA, $columnB, $columnC], $return->getColumns());
72+
$this->assertSame([$columnA, $columnB->getVariable(), $columnC->getVariable()], $return->getColumns());
7073
$this->assertFalse($return->isDistinct());
7174
}
7275

7376
public function testSingleAlias(): void
7477
{
7578
$return = new ReturnClause();
76-
$column = $this->getQueryConvertibleMock(AnyType::class, "a");
77-
$return->addColumn($column, "b");
79+
$column = new Alias(new Variable('a'), new Variable('b'));
80+
$return->addColumn($column);
7881

7982
$this->assertSame("RETURN a AS b", $return->toQuery());
80-
$this->assertSame(['b' => $column], $return->getColumns());
83+
$this->assertSame([$column], $return->getColumns());
8184
$this->assertFalse($return->isDistinct());
8285
}
8386

8487
public function testMultipleAliases(): void
8588
{
8689
$return = new ReturnClause();
87-
$columnA = $this->getQueryConvertibleMock(AnyType::class, "a");
88-
$columnB = $this->getQueryConvertibleMock(AnyType::class, "b");
89-
$return->addColumn($columnA, "b");
90-
$return->addColumn($columnB, "c");
90+
$aliasA = new Alias(new Variable('a'),new Variable('b'));
91+
$aliasB = new Alias(new Variable('b'),new Variable('c'));
92+
$return->addColumn($aliasA);
93+
$return->addColumn($aliasB);
9194

9295
$this->assertSame("RETURN a AS b, b AS c", $return->toQuery());
93-
$this->assertSame(['b' => $columnA, 'c' => $columnB], $return->getColumns());
96+
$this->assertSame([$aliasA, $aliasB], $return->getColumns());
9497
$this->assertFalse($return->isDistinct());
9598
}
9699

97100
public function testMixedAliases(): void
98101
{
99102
$return = new ReturnClause();
100-
$columnA = $this->getQueryConvertibleMock(AnyType::class, "a");
101-
$columnB = $this->getQueryConvertibleMock(AnyType::class, "c");
102-
$columnC = $this->getQueryConvertibleMock(AnyType::class, "b");
103-
$return->addColumn($columnA, "b");
103+
$columnA = new Alias(new Variable('a'), new Variable('b'));
104+
$columnB = new Variable('c');
105+
$columnC = new Alias(new Variable('b'), new Variable('c'));
106+
$return->addColumn($columnA);
104107
$return->addColumn($columnB);
105-
$return->addColumn($columnC, "c");
108+
$return->addColumn($columnC);
106109

107110
$this->assertSame("RETURN a AS b, c, b AS c", $return->toQuery());
108-
$this->assertEquals(['b' => $columnA, $columnB, 'c' => $columnA], $return->getColumns());
111+
$this->assertEquals([$columnA, $columnB, $columnC], $return->getColumns());
109112
$this->assertFalse($return->isDistinct());
110113
}
111114

112115
public function testAliasIsEscaped(): void
113116
{
114117
$return = new ReturnClause();
115-
$column = $this->getQueryConvertibleMock(AnyType::class, "a");
116-
$return->addColumn($column, ":");
118+
$column = new Alias(new Variable('a'), new Variable(':'));
119+
$return->addColumn($column);
117120

118121
$this->assertSame("RETURN a AS `:`", $return->toQuery());
119-
$this->assertSame([':' => $column], $return->getColumns());
122+
$this->assertSame([$column], $return->getColumns());
120123
$this->assertFalse($return->isDistinct());
121124
}
122125

123126
public function testReturnDistinct(): void
124127
{
125128
$return = new ReturnClause();
126-
$column = $this->getQueryConvertibleMock(AnyType::class, "a");
129+
$column = new Variable('a');
127130
$return->addColumn($column);
128131
$return->setDistinct();
129132

@@ -138,7 +141,7 @@ public function testReturnDistinct(): void
138141
public function testAcceptsAnyType(): void
139142
{
140143
$return = new ReturnClause();
141-
$return->addColumn($this->getQueryConvertibleMock(AnyType::class, "a"));
144+
$return->addColumn($this->createMock(AnyType::class));
142145
$return->setDistinct();
143146

144147
$return->toQuery();

tests/Unit/Clauses/SetClauseTest.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
use WikibaseSolutions\CypherDSL\Expressions\Property;
2929
use WikibaseSolutions\CypherDSL\Expressions\Variable;
3030
use WikibaseSolutions\CypherDSL\Syntax\PropertyReplacement;
31-
use WikibaseSolutions\CypherDSL\Tests\Unit\Expressions\TestHelper;
3231
use WikibaseSolutions\CypherDSL\Types\AnyType;
3332
use WikibaseSolutions\CypherDSL\Types\PropertyTypes\PropertyType;
3433

@@ -37,7 +36,6 @@
3736
*/
3837
class SetClauseTest extends TestCase
3938
{
40-
use TestHelper;
4139

4240
public function testEmptyClause(): void
4341
{
@@ -50,9 +48,11 @@ public function testEmptyClause(): void
5048
public function testSinglePattern(): void
5149
{
5250
$set = new SetClause();
51+
$value = $this->createMock(PropertyType::class);
52+
$value->method('toQuery')->willReturn('a');
5353
$expression = new PropertyReplacement(
5454
new Property(new Variable('Foo'),'Bar'),
55-
$this->getQueryConvertibleMock(PropertyType::class, "a")
55+
$value
5656
);
5757

5858
$set->add($expression);
@@ -65,9 +65,11 @@ public function testMultiplePattern(): void
6565
{
6666
$set = new SetClause();
6767
$foo = new Variable('Foo');
68+
$value = $this->createMock(PropertyType::class);
69+
$value->method('toQuery')->willReturn('a');
6870
$expressionA = new PropertyReplacement(
6971
new Property($foo,'Bar'),
70-
$this->getQueryConvertibleMock(PropertyType::class, "a")
72+
$value
7173
);
7274
$expressionB = new Label($foo,'Baz');
7375

@@ -84,9 +86,11 @@ public function testMultiplePattern(): void
8486
public function testAcceptsPropertyReplacement(): void
8587
{
8688
$set = new SetClause();
89+
$value = $this->createMock(PropertyType::class);
90+
$value->method('toQuery')->willReturn('a');
8791
$expression = new PropertyReplacement(
8892
new Property(new Variable('Foo'),'Bar'),
89-
$this->getQueryConvertibleMock(PropertyType::class, "a")
93+
$value
9094
);
9195

9296
$set->add($expression);
@@ -110,7 +114,7 @@ public function testAcceptsLabel(): void
110114
public function testDoesNotAcceptAnyType(): void
111115
{
112116
$set = new SetClause();
113-
$expression = $this->getQueryConvertibleMock(AnyType::class, "(a)");
117+
$expression = $this->createMock(AnyType::class);
114118

115119
$this->expectException(TypeError::class);
116120

0 commit comments

Comments
 (0)