26
26
#import " Firestore/Example/Tests/API/FSTAPIHelpers.h"
27
27
#import " Firestore/Example/Tests/Util/FSTHelpers.h"
28
28
29
+ #include " Firestore/core/include/firebase/firestore/geo_point.h"
29
30
#include " Firestore/core/src/firebase/firestore/model/database_id.h"
30
31
#include " Firestore/core/src/firebase/firestore/model/field_value.h"
31
32
#include " Firestore/core/src/firebase/firestore/util/string_apple.h"
32
33
#include " Firestore/core/test/firebase/firestore/testutil/testutil.h"
33
34
34
35
namespace testutil = firebase::firestore::testutil;
35
36
namespace util = firebase::firestore::util;
37
+ using firebase::firestore::GeoPoint;
36
38
using firebase::firestore::model::DatabaseId;
37
39
using firebase::firestore::model::FieldValue;
38
40
@@ -123,22 +125,22 @@ - (void)testNormalizesNaNs {
123
125
// Ensure we get the same normalization behavior (currently implemented explicitly by checking
124
126
// for isnan() and then explicitly assigning NAN).
125
127
union DoubleBits result;
126
- result.d = [[FSTDoubleValue doubleValue: canonical.d] internalValue ] ;
128
+ result.d = FieldValue::FromDouble ( canonical.d ). double_value () ;
127
129
XCTAssertEqual (result.bits , canonical.bits );
128
130
129
- result.d = [[FSTDoubleValue doubleValue: alternate.d] internalValue ] ;
131
+ result.d = FieldValue::FromDouble ( alternate.d ). double_value () ;
130
132
XCTAssertEqual (result.bits , canonical.bits );
131
133
132
134
// A NaN that's canonical except it has the sign bit set (would be negative if signs mattered)
133
135
union DoubleBits negative = {.bits = 0xfff8000000000000ULL };
134
- result.d = [[FSTDoubleValue doubleValue: negative.d] internalValue ] ;
136
+ result.d = FieldValue::FromDouble ( negative.d ). double_value () ;
135
137
XCTAssertTrue (isnan (negative.d ));
136
138
XCTAssertEqual (result.bits , canonical.bits );
137
139
138
140
// A signaling NaN with significand where MSB is 0, and some non-MSB bit is one.
139
141
union DoubleBits signaling = {.bits = 0xfff4000000000000ULL };
140
142
XCTAssertTrue (isnan (signaling.d ));
141
- result.d = [[FSTDoubleValue doubleValue: signaling.d] internalValue ] ;
143
+ result.d = FieldValue::FromDouble ( signaling.d ). double_value () ;
142
144
XCTAssertEqual (result.bits , canonical.bits );
143
145
}
144
146
@@ -157,15 +159,15 @@ - (void)testZeros {
157
159
XCTAssertEqual (normalized.bits , negativeZero.bits );
158
160
XCTAssertEqualObjects ([NSNumber numberWithDouble: 0.0 ], [NSNumber numberWithDouble: -0.0 ]);
159
161
160
- // FSTDoubleValue preserves positive/negative zero
162
+ // FieldValue::FromDouble preserves positive/negative zero
161
163
union DoubleBits result;
162
- result.d = [[[FSTDoubleValue doubleValue: zero.d] value ] doubleValue ] ;
164
+ result.d = FieldValue::FromDouble ( zero.d ). double_value () ;
163
165
XCTAssertEqual (result.bits , zero.bits );
164
- result.d = [[[FSTDoubleValue doubleValue: negativeZero.d] value ] doubleValue ] ;
166
+ result.d = FieldValue::FromDouble ( negativeZero.d ). double_value () ;
165
167
XCTAssertEqual (result.bits , negativeZero.bits );
166
168
167
169
// ... but compares positive/negative zero as unequal, compatibly with Firestore.
168
- XCTAssertNotEqualObjects ([FSTDoubleValue doubleValue: 0.0 ], [FSTDoubleValue doubleValue: -0.0 ] );
170
+ XCTAssertNotEqual ( FieldValue::FromDouble ( 0.0 ), FieldValue::FromDouble ( -0.0 ) );
169
171
}
170
172
171
173
- (void )testExtractsFields {
@@ -288,14 +290,14 @@ - (void)testValueEquality {
288
290
NSArray *groups = @[
289
291
@[ FSTTestFieldValue (@YES ), FieldValue::True ().Wrap () ],
290
292
@[ FSTTestFieldValue (@NO ), FieldValue::False ().Wrap () ],
291
- @[ FSTTestFieldValue ([NSNull null ]), [FSTNullValue nullValue ] ],
292
- @[ FSTTestFieldValue (@(0.0 / 0.0 )), FSTTestFieldValue (@(NAN)), [FSTDoubleValue nanValue ] ],
293
+ @[ FSTTestFieldValue ([NSNull null ]), FieldValue::Null (). Wrap () ],
294
+ @[ FSTTestFieldValue (@(0.0 / 0.0 )), FSTTestFieldValue (@(NAN)), FieldValue::Nan (). Wrap () ],
293
295
// -0.0 and 0.0 compare: the same (but are not isEqual:)
294
296
@[ FSTTestFieldValue (@(-0.0 )) ], @[ FSTTestFieldValue (@0.0 ) ],
295
- @[ FSTTestFieldValue (@1 ), FSTTestFieldValue (@1LL ), [FSTIntegerValue integerValue: 1LL ] ],
297
+ @[ FSTTestFieldValue (@1 ), FSTTestFieldValue (@1LL ), FieldValue::FromInteger ( 1LL ). Wrap () ],
296
298
// double and unit64_t values can compare: the same (but won't be isEqual:)
297
- @[ FSTTestFieldValue (@1.0 ), [FSTDoubleValue doubleValue: 1.0 ] ],
298
- @[ FSTTestFieldValue (@1.1 ), [FSTDoubleValue doubleValue: 1.1 ] ],
299
+ @[ FSTTestFieldValue (@1.0 ), FieldValue::FromDouble ( 1.0 ). Wrap () ],
300
+ @[ FSTTestFieldValue (@1.1 ), FieldValue::FromDouble ( 1.1 ). Wrap () ],
299
301
@[
300
302
FSTTestFieldValue (FSTTestData (0 , 1 , 2 , -1 )), [FSTBlobValue blobValue: FSTTestData (0 , 1 , 2 , -1 )]
301
303
],
@@ -323,7 +325,7 @@ - (void)testValueEquality {
323
325
previousValue: nil ] ],
324
326
@[
325
327
FSTTestFieldValue (FSTTestGeoPoint (0 , 1 )),
326
- [FSTGeoPointValue geoPointValue: FSTTestGeoPoint ( 0 , 1 )]
328
+ FieldValue::FromGeoPoint ( GeoPoint ( 0 , 1 )). Wrap ()
327
329
],
328
330
@[ FSTTestFieldValue (FSTTestGeoPoint (1 , 0 )) ],
329
331
@[
0 commit comments