477TEST_F(RtMoreTests, BuildIocrConfigsCoversInputAndOutputBranches)
479 const std::vector<rpc::IOSlot> slots{
480 MakeSlot(1, 1, 0, 0),
481 MakeSlot(2, 1, 4, 0),
482 MakeSlot(3, 1, 0, 6),
486 const auto [input, output] =
489 ASSERT_EQ(input.objects.size(), 5U);
490 ASSERT_EQ(output.objects.size(), 5U);
505 EXPECT_EQ(input.objects[0].slot, 1U);
506 EXPECT_EQ(input.objects[0].subslot, 1U);
507 EXPECT_EQ(input.objects[0].dataLength, 0U);
508 EXPECT_EQ(input.objects[0].frameOffset, 0U);
509 EXPECT_EQ(input.objects[0].offsetIOPS, std::nullopt);
510 EXPECT_EQ(input.objects[0].offsetIOCS, 0U);
512 EXPECT_EQ(input.objects[1].slot, 3U);
513 EXPECT_EQ(input.objects[1].subslot, 1U);
514 EXPECT_EQ(input.objects[1].dataLength, 0U);
515 EXPECT_EQ(input.objects[1].frameOffset, 1U);
516 EXPECT_EQ(input.objects[1].offsetIOPS, std::nullopt);
517 EXPECT_EQ(input.objects[1].offsetIOCS, 1U);
520 EXPECT_EQ(input.objects[2].slot, 4U);
521 EXPECT_EQ(input.objects[2].subslot, 1U);
522 EXPECT_EQ(input.objects[2].dataLength, 0U);
523 EXPECT_EQ(input.objects[2].frameOffset, 2U);
524 EXPECT_EQ(input.objects[2].offsetIOPS, std::nullopt);
525 EXPECT_EQ(input.objects[2].offsetIOCS, 2U);
527 EXPECT_EQ(input.objects[3].slot, 2U);
528 EXPECT_EQ(input.objects[3].subslot, 1U);
529 EXPECT_EQ(input.objects[3].dataLength, 4U);
530 EXPECT_EQ(input.objects[3].frameOffset, 2U);
531 EXPECT_EQ(input.objects[3].offsetIOPS, 7U);
532 EXPECT_EQ(input.objects[3].offsetIOCS, std::nullopt);
535 EXPECT_EQ(input.objects[4].slot, 4U);
536 EXPECT_EQ(input.objects[4].subslot, 1U);
537 EXPECT_EQ(input.objects[4].dataLength, 3U);
538 EXPECT_EQ(input.objects[4].frameOffset, 7U);
539 EXPECT_EQ(input.objects[4].offsetIOPS, 11U);
540 EXPECT_EQ(input.objects[4].offsetIOCS, std::nullopt);
555 EXPECT_EQ(output.objects[0].slot, 1U);
556 EXPECT_EQ(output.objects[0].subslot, 1U);
557 EXPECT_EQ(output.objects[0].dataLength, 0U);
558 EXPECT_EQ(output.objects[0].frameOffset, 0U);
559 EXPECT_EQ(output.objects[0].offsetIOPS, std::nullopt);
560 EXPECT_EQ(output.objects[0].offsetIOCS, 0U);
562 EXPECT_EQ(output.objects[1].slot, 2U);
563 EXPECT_EQ(output.objects[1].subslot, 1U);
564 EXPECT_EQ(output.objects[1].dataLength, 0U);
565 EXPECT_EQ(output.objects[1].frameOffset, 1U);
566 EXPECT_EQ(output.objects[1].offsetIOPS, std::nullopt);
567 EXPECT_EQ(output.objects[1].offsetIOCS, 1U);
570 EXPECT_EQ(output.objects[2].slot, 4U);
571 EXPECT_EQ(output.objects[2].subslot, 1U);
572 EXPECT_EQ(output.objects[2].dataLength, 2U);
573 EXPECT_EQ(output.objects[2].frameOffset, 2U);
574 EXPECT_EQ(output.objects[2].offsetIOPS, std::nullopt);
575 EXPECT_EQ(output.objects[2].offsetIOCS, 2U);
577 EXPECT_EQ(output.objects[3].slot, 3U);
578 EXPECT_EQ(output.objects[3].subslot, 1U);
579 EXPECT_EQ(output.objects[3].dataLength, 6U);
580 EXPECT_EQ(output.objects[3].frameOffset, 3U);
581 EXPECT_EQ(output.objects[3].offsetIOPS, 9U);
582 EXPECT_EQ(output.objects[3].offsetIOCS, std::nullopt);
585 EXPECT_EQ(output.objects[4].slot, 4U);
586 EXPECT_EQ(output.objects[4].subslot, 1U);
587 EXPECT_EQ(output.objects[4].dataLength, 2U);
588 EXPECT_EQ(output.objects[4].frameOffset, 10U);
589 EXPECT_EQ(output.objects[4].offsetIOPS, 12U);
590 EXPECT_EQ(output.objects[4].offsetIOCS, std::nullopt);
599 EXPECT_EQ(input.referenceIOCR, 1U);
600 EXPECT_EQ(output.referenceIOCR, 2U);
602 EXPECT_EQ(input.frameId, 0xC001U);
603 EXPECT_EQ(output.frameId, 0xC002U);
605 EXPECT_EQ(input.sendClockFactor, 32U);
606 EXPECT_EQ(output.sendClockFactor, 32U);
608 EXPECT_EQ(input.reductionRatio, 8U);
609 EXPECT_EQ(output.reductionRatio, 8U);
611 EXPECT_EQ(input.phase, 0U);
612 EXPECT_EQ(output.phase, 0U);
614 EXPECT_EQ(input.watchdogFactor, 3);
615 EXPECT_EQ(output.watchdogFactor, 3);
619 EXPECT_EQ(input.dataLength, 43U);
620 EXPECT_EQ(output.dataLength, 43U);