Closes #16
This commit is contained in:
1 parent
7022c84941
commit
c3d3bd51fb
72 files changed
+3703
-2484
No files matched your search
@@ -104,6 +104,7 @@ void CoverageTest::frameLookup() {
|
||||
QVERIFY(absent.definition == nullptr);
|
||||
QVERIFY(absent.signals.empty());
|
||||
DecodeSignal signal;
|
||||
signal.length = 8U;
|
||||
DecodeDatabase database = SingleSignal(signal);
|
||||
QVERIFY(decoder.FindFrame(database, 18U, false) == nullptr);
|
||||
QVERIFY(decoder.FindFrame(database, 17U, true) == nullptr);
|
||||
@@ -227,6 +228,10 @@ void CoverageTest::invalidSignalStatus() {
|
||||
signal.startBit = start;
|
||||
signal.length = length;
|
||||
signal.byteOrder = order == 0 ? ByteOrder::Intel : ByteOrder::Motorola;
|
||||
if (status == int(SignalDecodeStatus::InvalidDefinition)) {
|
||||
QVERIFY_THROWS_EXCEPTION(std::invalid_argument, (void) SingleSignal(signal));
|
||||
return;
|
||||
}
|
||||
const DecodeDatabase database = SingleSignal(signal);
|
||||
RawCanFrame raw;
|
||||
raw.canId = 17U;
|
||||
@@ -272,19 +277,7 @@ void CoverageTest::malformedRuntimeMultiplexing() {
|
||||
if (kind == 1) definitions[0].signals[0].valueType = ValueType::Signed;
|
||||
if (kind == 2) definitions[0].signals[0].length = 65U;
|
||||
if (kind == 3) definitions[0].signals[1].multiplexing.value = 2U;
|
||||
const DecodeDatabase database(std::move(definitions));
|
||||
RawCanFrame raw;
|
||||
raw.canId = 17U;
|
||||
raw.data = {1U, 42U, 99U};
|
||||
const DecodedFrameValue result = DbcDecoder().Decode(database, raw);
|
||||
QCOMPARE(int(result.signals[1].status), int(SignalDecodeStatus::InvalidDefinition));
|
||||
QVERIFY(!result.signals[1].valid);
|
||||
QVERIFY(result.signals[2].valid);
|
||||
QCOMPARE(std::get<std::uint64_t>(result.signals[2].rawValue), std::uint64_t(99));
|
||||
if (kind != 3) {
|
||||
QCOMPARE(int(result.signals[0].status), int(SignalDecodeStatus::InvalidDefinition));
|
||||
if (kind == 0) QCOMPARE(int(result.signals[3].status), int(SignalDecodeStatus::InvalidDefinition));
|
||||
}
|
||||
QVERIFY_THROWS_EXCEPTION(std::invalid_argument, (void) DecodeDatabase(definitions));
|
||||
}
|
||||
|
||||
void CoverageTest::pgn_data() {
|
||||
|
||||
Reference in new issue
Block a user