[go: nahoru, domu]

Skip to content

Commit

Permalink
Revert "Compare ranges with Decimal values (cantools#218)"
Browse files Browse the repository at this point in the history
This reverts commit 9203a08.

More testing is needed before releasing this. There are likely cases
that will not work when mixing floaf and decimal. And maybe more.
  • Loading branch information
eerimoq committed Nov 9, 2020
1 parent 8368f25 commit beb4575
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 38 deletions.
12 changes: 6 additions & 6 deletions cantools/database/can/message.py
Original file line number Diff line number Diff line change
Expand Up @@ -656,21 +656,21 @@ def _check_signals_ranges_scaling(self, signals, data):
if isinstance(value, str):
continue

if signal.decimal.minimum is not None:
if value < signal.decimal.minimum:
if signal.minimum is not None:
if value < signal.minimum:
raise EncodeError(
"Expected signal '{}' value greater than or equal to "
"{} in message '{}', but got {}.".format(signal.name,
signal.decimal.minimum,
signal.minimum,
self._name,
value))

if signal.decimal.maximum is not None:
if value > signal.decimal.maximum:
if signal.maximum is not None:
if value > signal.maximum:
raise EncodeError(
"Expected signal '{}' value less than or equal to "
"{} in message '{}', but got {}.".format(signal.name,
signal.decimal.maximum,
signal.maximum,
self.name,
value))

Expand Down
34 changes: 2 additions & 32 deletions tests/test_database.py
Original file line number Diff line number Diff line change
Expand Up @@ -4821,7 +4821,7 @@ def test_dbc_with_signal_groups(self):

filename = 'tests/files/dbc/sig_groups_out.dbc'
self.assert_dbc_dump(db, filename)

def test_dbc_issue_228_empty_signal_groups(self):
filename = 'tests/files/dbc/issue_228.dbc'

Expand Down Expand Up @@ -4933,42 +4933,12 @@ def test_issue_184_cascaded_multiplexors(self):
db,
'tests/files/dbc/issue_184_extended_mux_cascaded_dumped.dbc')

def test_floating_point_limits(self):
"""Test correct handling of limits in `can.Message.encode` if they
are floating point.
"""

dbc_content = """
VERSION "1337"
BS_:
BU_: XYY XYZ
BO_ 123 Message_1: 6 XYY
SG_ Alpha : 7|8@0+ (1,0) [0|255] "" XYZ
SG_ Bravo : 9|2@0+ (1,0) [0|3] "" XYZ
SG_ Charlie : 15|4@0+ (1,0) [0|14] "" XYZ
SG_ Delta : 23|8@0+ (0.394,0) [0.394|100.076] "" XYZ
"""
db = cantools.database.load_string(dbc_content, 'dbc')
message = db.get_message_by_name('Message_1')
data_min = { signal.name: signal.decimal.minimum for signal in message.signals }
message.encode(data_min)
data_max = { signal.name: signal.decimal.maximum for signal in message.signals }
message.encode(data_max)

# outside of lower bound for Delta
with self.assertRaises(cantools.database.EncodeError):
message.encode({ **data_min, 'Delta': data_min['Delta']-Decimal('0.001') })
# outside of high bound for Delta
with self.assertRaises(cantools.database.EncodeError):
message.encode({ **data_max, 'Delta': data_max['Delta']+Decimal('0.001') })
def test_bus_comment(self):
filename = 'tests/files/dbc/bus_comment.dbc'
db = cantools.database.load_file(filename)
self.assertEqual(db.buses[0].comment, 'SpecialRelease')
self.assert_dbc_dump(db, filename)

# This file is not '__main__' when executed via 'python setup.py3
# test'.
logging.basicConfig(level=logging.DEBUG)
Expand Down

0 comments on commit beb4575

Please sign in to comment.