MCPcopy Create free account
hub / github.com/apache/arrow-rs / test_interval

Function test_interval

arrow-arith/src/numeric.rs:1402–1483  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1400
1401 #[test]
1402 fn test_interval() {
1403 let a = IntervalYearMonthArray::from(vec![
1404 IntervalYearMonthType::make_value(32, 4),
1405 IntervalYearMonthType::make_value(32, 4),
1406 ]);
1407 let b = IntervalYearMonthArray::from(vec![
1408 IntervalYearMonthType::make_value(-4, 6),
1409 IntervalYearMonthType::make_value(-3, 23),
1410 ]);
1411 let result = add(&a, &b).unwrap();
1412 assert_eq!(
1413 result.as_ref(),
1414 &IntervalYearMonthArray::from(vec![
1415 IntervalYearMonthType::make_value(28, 10),
1416 IntervalYearMonthType::make_value(29, 27)
1417 ])
1418 );
1419 let result = sub(&a, &b).unwrap();
1420 assert_eq!(
1421 result.as_ref(),
1422 &IntervalYearMonthArray::from(vec![
1423 IntervalYearMonthType::make_value(36, -2),
1424 IntervalYearMonthType::make_value(35, -19)
1425 ])
1426 );
1427
1428 let a = IntervalDayTimeArray::from(vec![
1429 IntervalDayTimeType::make_value(32, 4),
1430 IntervalDayTimeType::make_value(32, 4),
1431 ]);
1432 let b = IntervalDayTimeArray::from(vec![
1433 IntervalDayTimeType::make_value(-4, 6),
1434 IntervalDayTimeType::make_value(-3, 23),
1435 ]);
1436 let result = add(&a, &b).unwrap();
1437 assert_eq!(
1438 result.as_ref(),
1439 &IntervalDayTimeArray::from(vec![
1440 IntervalDayTimeType::make_value(28, 10),
1441 IntervalDayTimeType::make_value(29, 27)
1442 ])
1443 );
1444 let result = sub(&a, &b).unwrap();
1445 assert_eq!(
1446 result.as_ref(),
1447 &IntervalDayTimeArray::from(vec![
1448 IntervalDayTimeType::make_value(36, -2),
1449 IntervalDayTimeType::make_value(35, -19)
1450 ])
1451 );
1452 let a = IntervalMonthDayNanoArray::from(vec![
1453 IntervalMonthDayNanoType::make_value(32, 4, 4000000000000),
1454 IntervalMonthDayNanoType::make_value(32, 4, 45463000000000000),
1455 ]);
1456 let b = IntervalMonthDayNanoArray::from(vec![
1457 IntervalMonthDayNanoType::make_value(-4, 6, 46000000000000),
1458 IntervalMonthDayNanoType::make_value(-3, 23, 3564000000000000),
1459 ]);

Callers

nothing calls this directly

Calls 2

addFunction · 0.85
subFunction · 0.85

Tested by

no test coverage detected