QueryDecimalTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 70
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 2
dl 0
loc 70
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testDecimalColumn() 0 12 1
A testDecimalMap() 0 12 1
A testDecimalSet() 0 19 1
A testDecimalList() 0 19 1
1
<?php
2
3
namespace evseevnn\Cassandra\Tests;
4
5
use evseevnn\Cassandra;
6
7
class QueryDecimalTest extends Setup\QueryTestCase
8
{
9
10
		public function testDecimalColumn()
11
		{
12
				$this->markTestSkipped('Decimal is all broken');
13
				self::$connection->query('CREATE TABLE DecimalTest (foo decimal PRIMARY KEY, bar decimal)');
14
				self::$connection->query(
15
						'INSERT INTO DecimalTest (foo, bar) VALUES (:foo, :bar)',
16
						['foo' => 0.12, 'bar' => 0.23]
17
				);
18
				$result = self::$connection->query('SELECT * FROM DecimalTest WHERE foo = :foo', ['foo' => 0.12]);
19
				$this->assertEquals(0.23, $result[0]['bar']);
20
				$this->assertEquals(0.12, $result[0]['foo']);
21
		}
22
23
		public function testDecimalMap()
24
		{
25
				$this->markTestSkipped('Decimal is all broken');
26
				self::$connection->query('CREATE TABLE DecimalMapTest (foo decimal PRIMARY KEY, bar map<decimal,decimal>)');
27
				self::$connection->query(
28
						'INSERT INTO DecimalMapTest (foo, bar) VALUES (:foo, :bar)',
29
						['foo' => 0.12, 'bar' => [0.23 => 0.52]]
30
				);
31
				$result = self::$connection->query('SELECT * FROM DecimalMapTest WHERE foo = :foo', ['foo' => 0.12]);
32
				$this->assertEquals([0.23 => 0.52], $result[0]['bar']);
33
				$this->assertEquals(0.12, $result[0]['foo']);
34
		}
35
36
		public function testDecimalSet()
37
		{
38
				$this->markTestSkipped('Decimal is all broken');
39
				self::$connection->query('CREATE TABLE DecimalSetTest (foo decimal PRIMARY KEY, bar set<decimal>)');
40
				self::$connection->query(
41
						'INSERT INTO DecimalSetTest (foo, bar) VALUES (:foo, :bar)',
42
						['foo' => 0.12, 'bar' => [0.23, 0.52]]
43
				);
44
				$result = self::$connection->query('SELECT * FROM DecimalSetTest WHERE foo = :foo', ['foo' => 0.12]);
45
				$this->assertEquals([0.23, 0.52], $result[0]['bar']);
46
				$this->assertEquals(0.12, $result[0]['foo']);
47
				//according to Spec, this should always be returned alphabetically.
48
				self::$connection->query(
49
						'INSERT INTO DecimalSetTest (foo, bar) VALUES (:foo, :bar)',
50
						['foo' => 'baz2', 'bar' => [0.52, 0.23]]
51
				);
52
				$result = self::$connection->query('SELECT * FROM DecimalSetTest WHERE foo = :foo', ['foo' => 'baz2']);
53
				$this->assertEquals([0.23, 0.52], $result[0]['bar']);
54
		}
55
56
		public function testDecimalList()
57
		{
58
				$this->markTestSkipped('Decimal is all broken');
59
				self::$connection->query('CREATE TABLE DecimalListTest (foo decimal PRIMARY KEY, bar list<decimal>)');
60
				self::$connection->query(
61
						'INSERT INTO DecimalListTest (foo, bar) VALUES (:foo, :bar)',
62
						['foo' => 0.12, 'bar' => [0.23, 0.52]]
63
				);
64
				$result = self::$connection->query('SELECT * FROM DecimalListTest WHERE foo = :foo', ['foo' => 0.12]);
65
				$this->assertEquals([0.23, 0.52], $result[0]['bar']);
66
				$this->assertEquals(0.12, $result[0]['foo']);
67
				//according to Spec, this should be returned in index order
68
				self::$connection->query(
69
						'INSERT INTO DecimalListTest (foo, bar) VALUES (:foo, :bar)',
70
						['foo' => 'baz2', 'bar' => [0.52, 0.23]]
71
				);
72
				$result = self::$connection->query('SELECT * FROM DecimalListTest WHERE foo = :foo', ['foo' => 'baz2']);
73
				$this->assertEquals([0.52, 0.23], $result[0]['bar']);
74
		}
75
76
}