diff options
Diffstat (limited to 'addons/gut/diff_tool.gd')
| -rw-r--r-- | addons/gut/diff_tool.gd | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/addons/gut/diff_tool.gd b/addons/gut/diff_tool.gd deleted file mode 100644 index 9dbbd1c..0000000 --- a/addons/gut/diff_tool.gd +++ /dev/null @@ -1,162 +0,0 @@ -extends 'res://addons/gut/compare_result.gd' -const INDENT = ' ' -enum { - DEEP, - SHALLOW, - SIMPLE -} - -var _utils = load('res://addons/gut/utils.gd').get_instance() -var _strutils = _utils.Strutils.new() -var _compare = _utils.Comparator.new() -var DiffTool = load('res://addons/gut/diff_tool.gd') - -var _value_1 = null -var _value_2 = null -var _total_count = 0 -var _diff_type = null -var _brackets = null -var _valid = true -var _desc_things = 'somethings' - -# -------- comapre_result.gd "interface" --------------------- -func set_are_equal(val): - _block_set('are_equal', val) - -func get_are_equal(): - return are_equal() - -func set_summary(val): - _block_set('summary', val) - -func get_summary(): - return summarize() - -func get_different_count(): - return differences.size() - -func get_total_count(): - return _total_count - -func get_short_summary(): - var text = str(_strutils.truncate_string(str(_value_1), 50), - ' ', _compare.get_compare_symbol(are_equal()), ' ', - _strutils.truncate_string(str(_value_2), 50)) - if(!are_equal()): - text += str(' ', get_different_count(), ' of ', get_total_count(), - ' ', _desc_things, ' do not match.') - return text - -func get_brackets(): - return _brackets -# -------- comapre_result.gd "interface" --------------------- - - -func _invalidate(): - _valid = false - differences = null - - -func _init(v1, v2, diff_type=DEEP): - _value_1 = v1 - _value_2 = v2 - _diff_type = diff_type - _compare.set_should_compare_int_to_float(false) - _find_differences(_value_1, _value_2) - - -func _find_differences(v1, v2): - if(_utils.are_datatypes_same(v1, v2)): - if(typeof(v1) == TYPE_ARRAY): - _brackets = {'open':'[', 'close':']'} - _desc_things = 'indexes' - _diff_array(v1, v2) - elif(typeof(v2) == TYPE_DICTIONARY): - _brackets = {'open':'{', 'close':'}'} - _desc_things = 'keys' - _diff_dictionary(v1, v2) - else: - _invalidate() - _utils.get_logger().error('Only Arrays and Dictionaries are supported.') - else: - _invalidate() - _utils.get_logger().error('Only Arrays and Dictionaries are supported.') - - -func _diff_array(a1, a2): - _total_count = max(a1.size(), a2.size()) - for i in range(a1.size()): - var result = null - if(i < a2.size()): - if(_diff_type == DEEP): - result = _compare.deep(a1[i], a2[i]) - else: - result = _compare.simple(a1[i], a2[i]) - else: - result = _compare.simple(a1[i], _compare.MISSING, 'index') - - if(!result.are_equal): - differences[i] = result - - if(a1.size() < a2.size()): - for i in range(a1.size(), a2.size()): - differences[i] = _compare.simple(_compare.MISSING, a2[i], 'index') - - -func _diff_dictionary(d1, d2): - var d1_keys = d1.keys() - var d2_keys = d2.keys() - - # Process all the keys in d1 - _total_count += d1_keys.size() - for key in d1_keys: - if(!d2.has(key)): - differences[key] = _compare.simple(d1[key], _compare.MISSING, 'key') - else: - d2_keys.remove(d2_keys.find(key)) - - var result = null - if(_diff_type == DEEP): - result = _compare.deep(d1[key], d2[key]) - else: - result = _compare.simple(d1[key], d2[key]) - - if(!result.are_equal): - differences[key] = result - - # Process all the keys in d2 that didn't exist in d1 - _total_count += d2_keys.size() - for i in range(d2_keys.size()): - differences[d2_keys[i]] = _compare.simple(_compare.MISSING, d2[d2_keys[i]], 'key') - - -func summarize(): - var summary = '' - - if(are_equal()): - summary = get_short_summary() - else: - var formatter = load('res://addons/gut/diff_formatter.gd').new() - formatter.set_max_to_display(max_differences) - summary = formatter.make_it(self) - - return summary - - -func are_equal(): - if(!_valid): - return null - else: - return differences.size() == 0 - - -func get_diff_type(): - return _diff_type - - -func get_value_1(): - return _value_1 - - -func get_value_2(): - return _value_2 |
