[Git][noosfero/noosfero][master] fix logic of equivalent assertion for arrays with same size and elements duplicated
Leandro Nunes
gitlab at mg.gitlab.com
Tue Dec 15 18:25:38 BRST 2015
Leandro Nunes pushed to branch master at Noosfero / noosfero
Commits:
cf372b23 by Leandro Nunes dos Santos at 2015-12-15T16:59:28Z
fix logic of equivalent assertion for arrays with same size and elements duplicated
- - - - -
2 changed files:
- test/test_helper.rb
- + test/unit/helper_test.rb
Changes:
=====================================
test/test_helper.rb
=====================================
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -87,8 +87,8 @@ class ActiveSupport::TestCase
alias :ok :assert_block
def assert_equivalent(enum1, enum2)
- norm1 = enum1.to_a
- norm2 = enum2.to_a
+ norm1 = enum1.group_by{|e|e}.values
+ norm2 = enum2.group_by{|e|e}.values
assert_equal norm1.size, norm2.size, "Size mismatch: #{enum1.inspect} vs #{enum2.inspect}"
assert_equal [], norm1 - norm2
assert_equal [], norm2 - norm1
=====================================
test/unit/helper_test.rb
=====================================
--- /dev/null
+++ b/test/unit/helper_test.rb
@@ -0,0 +1,62 @@
+require_relative "../test_helper"
+
+class HelperTest < ActiveSupport::TestCase
+
+ should 'assert_equivalent be true for the same arrays' do
+ a1 = [1,2,3]
+ a2 = [1,2,3]
+ assert_equivalent a1, a2
+ end
+
+ should 'assert_equivalent be true for equivalent arrays' do
+ a1 = [1,2,3]
+ a2 = [3,2,1]
+ assert_equivalent a1, a2
+ end
+
+ should 'assert_equivalent be true for equivalent arrays independent of parameter order' do
+ a1 = [1,2,3]
+ a2 = [3,2,1]
+ assert_equivalent a2, a1
+ end
+
+ should 'assert_equivalent be false for different arrays' do
+ a1 = [1,2,3]
+ a2 = [4,2,1]
+ assert_raise Minitest::Assertion do
+ assert_equivalent(a1, a2)
+ end
+ end
+
+ should 'assert_equivalent be false for different arrays independent of parameter order' do
+ a1 = [1,2,3]
+ a2 = [4,2,1]
+ assert_raise Minitest::Assertion do
+ assert_equivalent(a2, a1)
+ end
+ end
+
+ should 'assert_equivalent be false for arrays with different sizes' do
+ a1 = [1,2,3]
+ a2 = [1,2,3,4]
+ assert_raise Minitest::Assertion do
+ assert_equivalent(a1, a2)
+ end
+ end
+
+ should 'assert_equivalent be false for arrays with same elements duplicated' do
+ a1 = [2,2,3]
+ a2 = [2,3,3]
+ assert_raise Minitest::Assertion do
+ assert_equivalent(a1, a2)
+ end
+ end
+
+ should 'assert_equivalent be false for arrays with same elements duplicated of different sizes' do
+ a1 = [2,2,3]
+ a2 = [2,3,3,3]
+ assert_raise Minitest::Assertion do
+ assert_equivalent(a1, a2)
+ end
+ end
+end
View it on GitLab: https://gitlab.com/noosfero/noosfero/commit/cf372b23a2d085a50ed807ee46f06ea806984ae2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20151215/ef53a681/attachment-0001.html>
More information about the Noosfero-dev
mailing list