Skip to content

Commit f0edb68

Browse files
committed
unit test for collection config
1 parent dfd5c1d commit f0edb68

6 files changed

Lines changed: 128 additions & 5 deletions

File tree

src/Models/Request/CollectionConfig/DisabledQuantization.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@
1010

1111
class DisabledQuantization implements QuantizationConfig
1212
{
13-
public function __construct()
14-
{
15-
}
16-
1713
public function toArray(): array
1814
{
1915
return [

tests/Integration/Endpoints/QuantizationConfigTest.php renamed to tests/Integration/Endpoints/Collections/QuantizationConfigTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* @since Mar 2023
66
* @author Haydar KULEKCI <haydarkulekci@gmail.com>
77
*/
8-
namespace Qdrant\Tests\Integration\Endpoints;
8+
namespace Qdrant\Tests\Integration\Endpoints\Collections;
99

1010
use Qdrant\Endpoints\Collections;
1111
use Qdrant\Models\Request\CollectionConfig\BinaryQuantization;
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
/**
3+
* @since Oct 2023
4+
* @author Haydar KULEKCI <haydarkulekci@gmail.com>
5+
*/
6+
7+
namespace Qdrant\Tests\Unit\Models\Request\CollectionConfig;
8+
9+
use PHPUnit\Framework\TestCase;
10+
use Qdrant\Models\Request\CollectionConfig\BinaryQuantization;
11+
12+
class BinaryQuantizationTest extends TestCase
13+
{
14+
public function testBasic(): void
15+
{
16+
$config = new BinaryQuantization();
17+
18+
$this->assertEquals(['binary' => new \stdClass()], $config->toArray());
19+
}
20+
21+
public function testWithAlwaysRamTrue(): void
22+
{
23+
$config = new BinaryQuantization(true);
24+
25+
$this->assertEquals([
26+
'binary' => [
27+
'always_ram' => true
28+
]
29+
], $config->toArray());
30+
}
31+
32+
public function testWithAlwaysRamFalse(): void
33+
{
34+
$config = new BinaryQuantization(false);
35+
36+
$this->assertEquals([
37+
'binary' => [
38+
'always_ram' => false
39+
]
40+
], $config->toArray());
41+
}
42+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
/**
3+
* @since Oct 2023
4+
* @author Haydar KULEKCI <haydarkulekci@gmail.com>
5+
*/
6+
7+
namespace Qdrant\Tests\Unit\Models\Request\CollectionConfig;
8+
9+
use PHPUnit\Framework\TestCase;
10+
use Qdrant\Models\Request\CollectionConfig\DisabledQuantization;
11+
12+
class DisabledQuantizationTest extends TestCase
13+
{
14+
public function testBasic(): void
15+
{
16+
$config = new DisabledQuantization();
17+
18+
$this->assertEquals(['Disabled'], $config->toArray());
19+
}
20+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
/**
3+
* @since Oct 2023
4+
* @author Haydar KULEKCI <haydarkulekci@gmail.com>
5+
*/
6+
7+
namespace Qdrant\Tests\Unit\Models\Request\CollectionConfig;
8+
9+
use PHPUnit\Framework\TestCase;
10+
use Qdrant\Models\Request\CollectionConfig\ProductQuantization;
11+
12+
class ProductQuantizationTest extends TestCase
13+
{
14+
public function testBasic(): void
15+
{
16+
$config = new ProductQuantization('x4');
17+
18+
$this->assertEquals(['product' => ['compression' => 'x4']], $config->toArray());
19+
}
20+
21+
public function testWithAllParameters(): void
22+
{
23+
$config = new ProductQuantization('x4', true);
24+
25+
$this->assertEquals([
26+
'product' => [
27+
'compression' => 'x4',
28+
'always_ram' => true,
29+
]
30+
], $config->toArray());
31+
}
32+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
/**
3+
* @since Oct 2023
4+
* @author Haydar KULEKCI <haydarkulekci@gmail.com>
5+
*/
6+
7+
namespace Qdrant\Tests\Unit\Models\Request\CollectionConfig;
8+
9+
use PHPUnit\Framework\TestCase;
10+
use Qdrant\Models\Request\CollectionConfig\ScalarQuantization;
11+
12+
class ScalarQuantizationTest extends TestCase
13+
{
14+
public function testBasic(): void
15+
{
16+
$config = new ScalarQuantization('int8');
17+
18+
$this->assertEquals(['scalar' => ['type' => 'int8']], $config->toArray());
19+
}
20+
21+
public function testWithAllParameters(): void
22+
{
23+
$config = new ScalarQuantization('int8', 1.0, true);
24+
25+
$this->assertEquals([
26+
'scalar' => [
27+
'type' => 'int8',
28+
'quantile' => 1.0,
29+
'always_ram' => true,
30+
]
31+
], $config->toArray());
32+
}
33+
}

0 commit comments

Comments
 (0)