@@ -426,6 +426,25 @@ TEST_F(CodeGenTest, shouldBeAbleToEncodeCarCorrectly)
426426 offset += COLOR_LENGTH;
427427
428428 EXPECT_EQ (sz, offset);
429+
430+ std::uint64_t predictedCarSz = Car::computeLength (
431+ {
432+ FUEL_FIGURES_1_USAGE_DESCRIPTION_LENGTH,
433+ FUEL_FIGURES_2_USAGE_DESCRIPTION_LENGTH,
434+ FUEL_FIGURES_3_USAGE_DESCRIPTION_LENGTH
435+ },
436+ {
437+ ACCELERATION_COUNT,
438+ ACCELERATION_COUNT
439+ },
440+ MANUFACTURER_LENGTH,
441+ MODEL_LENGTH,
442+ ACTIVATION_CODE_LENGTH,
443+ COLOR_LENGTH
444+ );
445+ EXPECT_EQ (sz, predictedCarSz);
446+ EXPECT_EQ (Car::isConstLength (), false );
447+ EXPECT_EQ (Car::PerformanceFigures::Acceleration::isConstLength (), true );
429448}
430449
431450TEST_F (CodeGenTest, shouldBeAbleToEncodeHeaderPlusCarCorrectly)
@@ -467,6 +486,8 @@ TEST_F(CodeGenTest, shouldBeAbleToEncodeAndDecodeHeaderPlusCarCorrectly)
467486
468487 m_carDecoder.wrapForDecode (buffer, m_hdrDecoder.encodedLength (), Car::sbeBlockLength (), Car::sbeSchemaVersion (), hdrSz + carSz);
469488
489+ EXPECT_EQ (m_carDecoder.decodeLength (), expectedCarSize);
490+
470491 EXPECT_EQ (m_carDecoder.serialNumber (), SERIAL_NUMBER);
471492 EXPECT_EQ (m_carDecoder.modelYear (), MODEL_YEAR);
472493 EXPECT_EQ (m_carDecoder.available (), AVAILABLE);
@@ -578,6 +599,7 @@ TEST_F(CodeGenTest, shouldBeAbleToEncodeAndDecodeHeaderPlusCarCorrectly)
578599 EXPECT_EQ (std::string (m_carDecoder.color (), COLOR_LENGTH), COLOR);
579600
580601 EXPECT_EQ (m_carDecoder.encodedLength (), expectedCarSize);
602+ EXPECT_EQ (m_carDecoder.decodeLength (), expectedCarSize);
581603}
582604
583605struct CallbacksForEach
0 commit comments