Skip to content

Commit 9b3a389

Browse files
authored
Merge pull request #51 from keboola/zajca-synapse-defautl-length-expose
expose getDefaultLength method for Synapse
2 parents 45a6c4a + 9a59ac0 commit 9b3a389

2 files changed

Lines changed: 56 additions & 1 deletion

File tree

src/Definition/Synapse.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ public function getSQLDefinition()
133133
*
134134
* @return int|string|null
135135
*/
136-
private function getDefaultLength()
136+
public function getDefaultLength()
137137
{
138138
switch (strtoupper($this->getType())) {
139139
case self::TYPE_FLOAT:

tests/SynapseDatatypeTest.php

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,4 +400,59 @@ public function validLengths()
400400
['datetime', null],
401401
];
402402
}
403+
404+
public function typesForLengthsTest(): \Generator
405+
{
406+
yield 'TYPE_FLOAT' => [
407+
Synapse::TYPE_FLOAT,
408+
53
409+
];
410+
yield 'TYPE_DECIMAL' => [
411+
Synapse::TYPE_DECIMAL,
412+
'38,0'
413+
];
414+
yield 'TYPE_NUMERIC' => [
415+
Synapse::TYPE_NUMERIC,
416+
'38,0'
417+
];
418+
yield 'TYPE_NCHAR' => [
419+
Synapse::TYPE_NCHAR,
420+
4000
421+
];
422+
yield 'TYPE_NVARCHAR' => [
423+
Synapse::TYPE_NVARCHAR,
424+
4000
425+
];
426+
yield 'TYPE_BINARY' => [
427+
Synapse::TYPE_BINARY,
428+
8000
429+
];
430+
yield 'TYPE_CHAR' => [
431+
Synapse::TYPE_CHAR,
432+
8000
433+
];
434+
yield 'TYPE_VARBINARY' => [
435+
Synapse::TYPE_VARBINARY,
436+
8000
437+
];
438+
yield 'TYPE_VARCHAR' => [
439+
Synapse::TYPE_VARCHAR,
440+
8000
441+
];
442+
yield 'TYPE_REAL' => [
443+
Synapse::TYPE_REAL,
444+
null
445+
];
446+
}
447+
448+
/**
449+
* @dataProvider typesForLengthsTest
450+
* @param string $type
451+
* @param string|int|null $expectedLength
452+
*/
453+
public function testDefaultLengths(string $type, $expectedLength): void
454+
{
455+
$def = new Synapse($type, []);
456+
$this->assertSame($expectedLength, $def->getDefaultLength());
457+
}
403458
}

0 commit comments

Comments
 (0)