@@ -43,7 +43,7 @@ public function testStringOfBoolean(): void {
43
43
}
44
44
45
45
public function testStringBailsOnArray (): void {
46
- self :: expectException (ArrayAccessorException::class);
46
+ $ this -> expectException (ArrayAccessorException::class);
47
47
ArrayAccessor::of (['foo ' => ['a ' , 'b ' ]])->string ('foo ' );
48
48
}
49
49
// endregion
@@ -76,19 +76,19 @@ public function testMaybeStringOfBoolean(): void {
76
76
}
77
77
78
78
public function testMaybeStringBailsOnArray (): void {
79
- self :: expectException (ArrayAccessorException::class);
79
+ $ this -> expectException (ArrayAccessorException::class);
80
80
ArrayAccessor::of (['foo ' => ['a ' , 'b ' ]])->maybeString ('foo ' );
81
81
}
82
82
// endregion
83
83
84
84
// region requireString
85
85
public function testRequireStringBailsNoKey (): void {
86
- self :: expectException (ArrayAccessorException::class);
86
+ $ this -> expectException (ArrayAccessorException::class);
87
87
ArrayAccessor::of ([])->requireString ('foo ' );
88
88
}
89
89
90
90
public function testRequireStringBailsOnNull (): void {
91
- self :: expectException (ArrayAccessorException::class);
91
+ $ this -> expectException (ArrayAccessorException::class);
92
92
ArrayAccessor::of (['foo ' => null ])->requireString ('foo ' );
93
93
}
94
94
@@ -107,7 +107,7 @@ public function testRequireStringOfBoolean(): void {
107
107
}
108
108
109
109
public function testRequireStringBailsOnArray (): void {
110
- self :: expectException (ArrayAccessorException::class);
110
+ $ this -> expectException (ArrayAccessorException::class);
111
111
ArrayAccessor::of (['foo ' => ['a ' , 'b ' ]])->requireString ('foo ' );
112
112
}
113
113
// endregion
@@ -128,11 +128,32 @@ public function testIntCastsBoolean(): void {
128
128
}
129
129
130
130
public function testIntBailsOnInvalidString (): void {
131
- self :: expectException (ArrayAccessorException::class);
131
+ $ this -> expectException (ArrayAccessorException::class);
132
132
ArrayAccessor::of (['foo ' => "bar " ])->int ("foo " );
133
133
}
134
134
// endregion
135
135
136
+ // region float
137
+ public function testFloatCastsString (): void {
138
+ self ::assertSame (
139
+ 1.0 ,
140
+ ArrayAccessor::of (['foo ' => "1 " ])->float ("foo " ),
141
+ );
142
+ }
143
+
144
+ public function testFloatCastsStringWithDotForDecimalSeparator (): void {
145
+ self ::assertSame (
146
+ 1.123 ,
147
+ ArrayAccessor::of (['foo ' => "1.123 " ])->float ("foo " ),
148
+ );
149
+ }
150
+
151
+ public function testFloatBailsOnInvalidString (): void {
152
+ $ this ->expectException (ArrayAccessorException::class);
153
+ ArrayAccessor::of (['foo ' => "bar " ])->float ("foo " );
154
+ }
155
+ // endregion
156
+
136
157
// region bool
137
158
public function testBoolCastsStringTrue (): void {
138
159
self ::assertTrue (
@@ -159,12 +180,12 @@ public function testBoolCastsIntFalse(): void {
159
180
}
160
181
161
182
public function testBoolBailsOnOtherNumbers (): void {
162
- self :: expectException (ArrayAccessorException::class);
183
+ $ this -> expectException (ArrayAccessorException::class);
163
184
ArrayAccessor::of (['foo ' => 10 ])->bool ("foo " );
164
185
}
165
186
166
187
public function testBoolBailsOnInvalidString (): void {
167
- self :: expectException (ArrayAccessorException::class);
188
+ $ this -> expectException (ArrayAccessorException::class);
168
189
ArrayAccessor::of (['foo ' => "bar " ])->bool ("foo " );
169
190
}
170
191
// endregion
@@ -198,7 +219,7 @@ public function testMaybeAt(): void {
198
219
}
199
220
200
221
public function testMaybeAtBailsOnStringKey (): void {
201
- self :: expectException (ArrayAccessorException::class);
222
+ $ this -> expectException (ArrayAccessorException::class);
202
223
ArrayAccessor::of (['weekdays ' => 'string ' ])->maybeAt ('weekdays ' );
203
224
}
204
225
0 commit comments