MCPcopy Create free account
hub / github.com/apache/arrow / TestStructOf

Method TestStructOf

cpp/src/arrow/scalar_test.cc:422–477  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

420 }
421
422 void TestStructOf() {
423 auto ty = struct_({field("float", type_)});
424
425 StructScalar struct_val({scalar_val_}, ty);
426 StructScalar struct_other_val({scalar_other_}, ty);
427 StructScalar struct_nan({scalar_nan_}, ty);
428 StructScalar struct_other_nan({scalar_other_nan_}, ty);
429
430 EqualOptions options = EqualOptions::Defaults().atol(0.05);
431 ASSERT_FALSE(struct_val.Equals(struct_other_val, options));
432 ASSERT_FALSE(struct_other_val.Equals(struct_val, options));
433 ASSERT_FALSE(struct_nan.Equals(struct_val, options));
434 ASSERT_FALSE(struct_nan.Equals(struct_nan, options));
435 ASSERT_FALSE(struct_nan.Equals(struct_other_nan, options));
436 ASSERT_FALSE(struct_val.ApproxEquals(struct_other_val, options));
437 ASSERT_FALSE(struct_other_val.ApproxEquals(struct_val, options));
438 ASSERT_FALSE(struct_nan.ApproxEquals(struct_val, options));
439 ASSERT_FALSE(struct_nan.ApproxEquals(struct_nan, options));
440 ASSERT_FALSE(struct_nan.ApproxEquals(struct_other_nan, options));
441
442 options = options.atol(0.15);
443 ASSERT_TRUE(struct_val.Equals(struct_other_val, options));
444 ASSERT_TRUE(struct_other_val.Equals(struct_val, options));
445 ASSERT_FALSE(struct_nan.Equals(struct_val, options));
446 ASSERT_FALSE(struct_nan.Equals(struct_nan, options));
447 ASSERT_FALSE(struct_nan.Equals(struct_other_nan, options));
448 ASSERT_TRUE(struct_val.ApproxEquals(struct_other_val, options));
449 ASSERT_TRUE(struct_other_val.ApproxEquals(struct_val, options));
450 ASSERT_FALSE(struct_nan.ApproxEquals(struct_val, options));
451 ASSERT_FALSE(struct_nan.ApproxEquals(struct_nan, options));
452 ASSERT_FALSE(struct_nan.ApproxEquals(struct_other_nan, options));
453
454 options = options.nans_equal(true);
455 ASSERT_TRUE(struct_val.Equals(struct_other_val, options));
456 ASSERT_TRUE(struct_other_val.Equals(struct_val, options));
457 ASSERT_FALSE(struct_nan.Equals(struct_val, options));
458 ASSERT_TRUE(struct_nan.Equals(struct_nan, options));
459 ASSERT_TRUE(struct_nan.Equals(struct_other_nan, options));
460 ASSERT_TRUE(struct_val.ApproxEquals(struct_other_val, options));
461 ASSERT_TRUE(struct_other_val.ApproxEquals(struct_val, options));
462 ASSERT_FALSE(struct_nan.ApproxEquals(struct_val, options));
463 ASSERT_TRUE(struct_nan.ApproxEquals(struct_nan, options));
464 ASSERT_TRUE(struct_nan.ApproxEquals(struct_other_nan, options));
465
466 options = options.atol(0.05);
467 ASSERT_FALSE(struct_val.Equals(struct_other_val, options));
468 ASSERT_FALSE(struct_other_val.Equals(struct_val, options));
469 ASSERT_FALSE(struct_nan.Equals(struct_val, options));
470 ASSERT_TRUE(struct_nan.Equals(struct_nan, options));
471 ASSERT_TRUE(struct_nan.Equals(struct_other_nan, options));
472 ASSERT_FALSE(struct_val.ApproxEquals(struct_other_val, options));
473 ASSERT_FALSE(struct_other_val.ApproxEquals(struct_val, options));
474 ASSERT_FALSE(struct_nan.ApproxEquals(struct_val, options));
475 ASSERT_TRUE(struct_nan.ApproxEquals(struct_nan, options));
476 ASSERT_TRUE(struct_nan.ApproxEquals(struct_other_nan, options));
477 }
478
479 template <typename ListScalarClass>

Callers 1

TYPED_TESTFunction · 0.80

Calls 5

struct_Function · 0.85
fieldFunction · 0.70
DefaultsFunction · 0.70
EqualsMethod · 0.45
ApproxEqualsMethod · 0.45

Tested by

no test coverage detected