@@ -21,25 +21,56 @@ public function testDecimal(): void
21
21
{
22
22
$ model = Casting::query ()->create (['decimalNumber ' => 100.99 ]);
23
23
24
- self ::assertInstanceOf (Decimal128::class, $ model ->decimalNumber );
24
+ self ::assertIsString ($ model ->decimalNumber );
25
+ self ::assertInstanceOf (Decimal128::class, $ model ->getRawOriginal ('decimalNumber ' ));
25
26
self ::assertEquals ('100.99 ' , $ model ->decimalNumber );
26
27
27
28
$ model ->update (['decimalNumber ' => 9999.9 ]);
28
29
29
- self ::assertInstanceOf (Decimal128::class, $ model ->decimalNumber );
30
+ self ::assertIsString ($ model ->decimalNumber );
31
+ self ::assertInstanceOf (Decimal128::class, $ model ->getRawOriginal ('decimalNumber ' ));
30
32
self ::assertEquals ('9999.90 ' , $ model ->decimalNumber );
33
+
34
+ $ model ->update (['decimalNumber ' => 9999.00000009 ]);
35
+
36
+ self ::assertIsString ($ model ->decimalNumber );
37
+ self ::assertInstanceOf (Decimal128::class, $ model ->getRawOriginal ('decimalNumber ' ));
38
+ self ::assertEquals ('9999.00 ' , $ model ->decimalNumber );
31
39
}
32
40
33
41
public function testDecimalAsString (): void
34
42
{
35
43
$ model = Casting::query ()->create (['decimalNumber ' => '120.79 ' ]);
36
44
37
- self ::assertInstanceOf (Decimal128::class, $ model ->decimalNumber );
45
+ self ::assertIsString ($ model ->decimalNumber );
46
+ self ::assertInstanceOf (Decimal128::class, $ model ->getRawOriginal ('decimalNumber ' ));
38
47
self ::assertEquals ('120.79 ' , $ model ->decimalNumber );
39
48
40
49
$ model ->update (['decimalNumber ' => '795 ' ]);
41
50
42
- self ::assertInstanceOf (Decimal128::class, $ model ->decimalNumber );
51
+ self ::assertIsString ($ model ->decimalNumber );
52
+ self ::assertInstanceOf (Decimal128::class, $ model ->getRawOriginal ('decimalNumber ' ));
43
53
self ::assertEquals ('795.00 ' , $ model ->decimalNumber );
54
+
55
+ $ model ->update (['decimalNumber ' => '1234.99999999999 ' ]);
56
+
57
+ self ::assertIsString ($ model ->decimalNumber );
58
+ self ::assertInstanceOf (Decimal128::class, $ model ->getRawOriginal ('decimalNumber ' ));
59
+ self ::assertEquals ('1235.00 ' , $ model ->decimalNumber );
60
+ }
61
+
62
+ public function testDecimalAsDecimal128 (): void
63
+ {
64
+ $ model = Casting::query ()->create (['decimalNumber ' => new Decimal128 ('100.99 ' )]);
65
+
66
+ self ::assertIsString ($ model ->decimalNumber );
67
+ self ::assertInstanceOf (Decimal128::class, $ model ->getRawOriginal ('decimalNumber ' ));
68
+ self ::assertEquals ('100.99 ' , $ model ->decimalNumber );
69
+
70
+ $ model ->update (['decimalNumber ' => new Decimal128 ('9999.9 ' )]);
71
+
72
+ self ::assertIsString ($ model ->decimalNumber );
73
+ self ::assertInstanceOf (Decimal128::class, $ model ->getRawOriginal ('decimalNumber ' ));
74
+ self ::assertEquals ('9999.90 ' , $ model ->decimalNumber );
44
75
}
45
76
}
0 commit comments