Class: Ecu::CombinedListComparison
- Inherits:
-
Object
- Object
- Ecu::CombinedListComparison
- Defined in:
- lib/ecu/combined_list_comparison.rb
Instance Method Summary collapse
- #differences ⇒ Object
-
#initialize(left, right) ⇒ CombinedListComparison
constructor
A new instance of CombinedListComparison.
- #left_exclusive ⇒ Object
- #merge(priority: :right) ⇒ Object
- #names(spec) ⇒ Object
- #right_exclusive ⇒ Object
Constructor Details
#initialize(left, right) ⇒ CombinedListComparison
Returns a new instance of CombinedListComparison.
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/ecu/combined_list_comparison.rb', line 8 def initialize(left, right) # TODO: This could/should be more leaniant and convert # {Signal/Label}Lists on the fly to allow for comparison unless left.is_a?(CombinedList) && right.is_a?(CombinedList) fail "Can only merge CombinedList (left: #{left.class}, right: #{right.class})!" end @signal_comparison = SignalListComparison.new(left.signals, right.signals) @label_comparison = LabelListComparison.new(left.labels, right.labels) end |
Instance Method Details
#differences ⇒ Object
33 34 35 |
# File 'lib/ecu/combined_list_comparison.rb', line 33 def differences signal_comparison.differences + label_comparison.differences end |
#left_exclusive ⇒ Object
25 26 27 |
# File 'lib/ecu/combined_list_comparison.rb', line 25 def left_exclusive signal_comparison.left_exclusive + label_comparison.left_exclusive end |
#merge(priority: :right) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/ecu/combined_list_comparison.rb', line 37 def merge(priority: :right) CombinedList.new \ signal_comparison.merge(priority: priority), label_comparison.merge(priority: priority), signal_comparison.headers, # Both should merge headers the same signal_comparison.subheaders # way, so it doesn't matter end |
#names(spec) ⇒ Object
21 22 23 |
# File 'lib/ecu/combined_list_comparison.rb', line 21 def names(spec) signal_comparison.names(spec) + label_comparison.names(spec) end |
#right_exclusive ⇒ Object
29 30 31 |
# File 'lib/ecu/combined_list_comparison.rb', line 29 def right_exclusive signal_comparison.right_exclusive + label_comparison.right_exclusive end |