minitest_lucid 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/CODE_OF_CONDUCT.md +74 -0
  4. data/Gemfile +6 -0
  5. data/Gemfile.lock +28 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +574 -0
  8. data/Rakefile +36 -0
  9. data/lib/lorem.rb +37 -0
  10. data/lib/minitest_lucid.rb +245 -0
  11. data/lib/minitest_lucid/version.rb +3 -0
  12. data/markdown/readme/README.md +102 -0
  13. data/markdown/readme/array/assert_equal/better.txt +31 -0
  14. data/markdown/readme/array/assert_equal/data.rb +48 -0
  15. data/markdown/readme/array/assert_equal/default.txt +5 -0
  16. data/markdown/readme/array/assert_equal/example.rb +35 -0
  17. data/markdown/readme/array/assert_equal/lucid.txt +31 -0
  18. data/markdown/readme/array/assert_equal/template.md +17 -0
  19. data/markdown/readme/array/template.md +3 -0
  20. data/markdown/readme/hash/assert_equal/better.txt +31 -0
  21. data/markdown/readme/hash/assert_equal/data.rb +46 -0
  22. data/markdown/readme/hash/assert_equal/default.txt +5 -0
  23. data/markdown/readme/hash/assert_equal/example.rb +35 -0
  24. data/markdown/readme/hash/assert_equal/lucid.txt +57 -0
  25. data/markdown/readme/hash/assert_equal/template.md +17 -0
  26. data/markdown/readme/hash/template.md +3 -0
  27. data/markdown/readme/set/assert_equal/better.txt +34 -0
  28. data/markdown/readme/set/assert_equal/data.rb +44 -0
  29. data/markdown/readme/set/assert_equal/default.txt +5 -0
  30. data/markdown/readme/set/assert_equal/example.rb +36 -0
  31. data/markdown/readme/set/assert_equal/lucid.txt +43 -0
  32. data/markdown/readme/set/assert_equal/template.md +17 -0
  33. data/markdown/readme/set/template.md +3 -0
  34. data/markdown/readme/struct/assert_equal/better.txt +42 -0
  35. data/markdown/readme/struct/assert_equal/data.rb +85 -0
  36. data/markdown/readme/struct/assert_equal/default.txt +5 -0
  37. data/markdown/readme/struct/assert_equal/example.rb +35 -0
  38. data/markdown/readme/struct/assert_equal/lucid.txt +81 -0
  39. data/markdown/readme/struct/assert_equal/template.md +17 -0
  40. data/markdown/readme/struct/template.md +3 -0
  41. data/markdown/readme/template.md +19 -0
  42. data/minitest_lucid.gemspec +39 -0
  43. metadata +169 -0
@@ -0,0 +1,36 @@
1
+ require 'minitest/autorun'
2
+ require 'set'
3
+
4
+ class Example < Minitest::Test
5
+
6
+ require_relative 'data'
7
+
8
+ def test_assert_equal
9
+ begin
10
+ assert_equal(expected, actual)
11
+ rescue Minitest::Assertion => x
12
+ File.open('default.txt', 'w') do |file|
13
+ file.write(x.message)
14
+ end
15
+ end
16
+ begin
17
+ Minitest::Test.make_my_diffs_pretty!
18
+ assert_equal(expected, actual)
19
+ rescue Minitest::Assertion => x
20
+ File.open('better.txt', 'w') do |file|
21
+ file.write(x.message)
22
+ end
23
+ end
24
+ begin
25
+ require 'minitest_lucid'
26
+ assert_equal(expected, actual)
27
+ rescue Minitest::Assertion => x
28
+ File.open('lucid.txt', 'w') do |file|
29
+ file.write(x.message)
30
+ end
31
+ end
32
+ end
33
+
34
+ end
35
+
36
+
@@ -0,0 +1,43 @@
1
+
2
+ {
3
+ :expected => {
4
+ :class => Set,
5
+ :size => 18,
6
+ },
7
+ :actual => {
8
+ :class => Set,
9
+ :size => 18,
10
+ },
11
+ :elucidation => {
12
+ :missing => {
13
+ 'Uati nua iaam caea.',
14
+ 'Veaat ea conaaectat noat.',
15
+ 'Prem fatiaa fad ulpaat.',
16
+ 'Utaag quis aut ing.',
17
+ 'Enaat alam nonse magnaat.',
18
+ 'Vate eu adip quata.',
19
+ },
20
+ :unexpected => {
21
+ 'Suntat fugiame sici exad.',
22
+ 'Dolo mod eaamet ena.',
23
+ 'Dat dolor laboat caalit.',
24
+ 'Dolo esera id samcomaa.',
25
+ 'Cuate adid do nim.',
26
+ 'Ocaada iaamaa fatioa anaat.',
27
+ },
28
+ :ok => {
29
+ 'Euaab voat doloa caecat.',
30
+ 'Idatia naat paaat inia.',
31
+ 'Ea re deni utat.',
32
+ 'Eia do elab same.',
33
+ 'Nulla paal dolor maatat.',
34
+ 'Exerad iame ulpa ipari.',
35
+ 'Ut dolla laat nonse.',
36
+ 'Sequaa nulp duisic na.',
37
+ 'Seqa quips sitataa exae.',
38
+ 'Irud ming fat int.',
39
+ 'Siaa miaation vagna alaa.',
40
+ 'Tatua ididun offia doaut.',
41
+ },
42
+ }
43
+ }
@@ -0,0 +1,17 @@
1
+ #### assert_equal
2
+
3
+ Here are sets, expected and actual, to be compared.
4
+
5
+ @[ruby](data.rb)
6
+
7
+ The default ```Minitest::Assertion``` message:
8
+
9
+ @[diff](default.txt)
10
+
11
+ Message using ```make_my_diffs_pretty!```:
12
+
13
+ @[diff](better.txt)
14
+
15
+ Message using ```minitest_lucid```
16
+
17
+ @[ruby](lucid.txt)
@@ -0,0 +1,3 @@
1
+ ### Set
2
+
3
+ @[:markdown](assert_equal/template.md)
@@ -0,0 +1,42 @@
1
+ --- expected
2
+ +++ actual
3
+ @@ -1,26 +1,26 @@
4
+ #<struct Struct::MyStruct
5
+ - cat="Venia con maga qaboadaa.",
6
+ - etur="Esea alit ut ofabo.",
7
+ - est="Etuata ing mina famcom.",
8
+ - iam="Irur ciat nullum nis.",
9
+ + cat="venia con maga qaboadaa.",
10
+ + etur="esea alit ut ofabo.",
11
+ + est="etuata ing mina famcom.",
12
+ + iam="irur ciat nullum nis.",
13
+ ent="Sin maga eaaec aate.",
14
+ et="Idua amag la ip.",
15
+ aabor="Dolo cida maal exceaad.",
16
+ quaa="Exce exea autat alabaa.",
17
+ - quipa="Oat adaa eser qatat.",
18
+ - estat="Paar seaali ocaabor prabo.",
19
+ - deseqama="Cona catat exat dolo.",
20
+ - dolor="Miat dat adid labo.",
21
+ + quipa="oat adaa eser qatat.",
22
+ + estat="paar seaali ocaabor prabo.",
23
+ + deseqama="cona catat exat dolo.",
24
+ + dolor="miat dat adid labo.",
25
+ occat="Coam ea naat caatati.",
26
+ enim="Idaat cat do in.",
27
+ sing="Ut quatat adaat excae.",
28
+ ea="Adip iatatet auaa vea.",
29
+ - sicingaeaada="In ex con ent.",
30
+ - labam="Oatiat in amcons adaature.",
31
+ - eaaua="Exatate labo ulla re.",
32
+ - suaa="Auta te esta para.",
33
+ + sicingaeaada="in ex con ent.",
34
+ + labam="oatiat in amcons adaature.",
35
+ + eaaua="exatate labo ulla re.",
36
+ + suaa="auta te esta para.",
37
+ amea="Ipia sea commol magna.",
38
+ magat="Endenia eur in aliamaga.",
39
+ lam="Noabor modo autaa aata.",
40
+ re="Ad irab ut cupar.",
41
+ - ex="Si voaabor alit occaaa.">
42
+ + ex=nil>
@@ -0,0 +1,85 @@
1
+ Struct.new('MyStruct',
2
+ :cat,
3
+ :etur,
4
+ :est,
5
+ :iam,
6
+ :ent,
7
+ :et,
8
+ :aabor,
9
+ :quaa,
10
+ :quipa,
11
+ :estat,
12
+ :deseqama,
13
+ :dolor,
14
+ :occat,
15
+ :enim,
16
+ :sing,
17
+ :ea,
18
+ :sicingaeaada,
19
+ :labam,
20
+ :eaaua,
21
+ :suaa,
22
+ :amea,
23
+ :magat,
24
+ :lam,
25
+ :re,
26
+ :ex,
27
+ )
28
+ def expected
29
+ Struct::MyStruct.new(
30
+ 'Venia con maga qaboadaa.',
31
+ 'Esea alit ut ofabo.',
32
+ 'Etuata ing mina famcom.',
33
+ 'Irur ciat nullum nis.',
34
+ 'Sin maga eaaec aate.',
35
+ 'Idua amag la ip.',
36
+ 'Dolo cida maal exceaad.',
37
+ 'Exce exea autat alabaa.',
38
+ 'Oat adaa eser qatat.',
39
+ 'Paar seaali ocaabor prabo.',
40
+ 'Cona catat exat dolo.',
41
+ 'Miat dat adid labo.',
42
+ 'Coam ea naat caatati.',
43
+ 'Idaat cat do in.',
44
+ 'Ut quatat adaat excae.',
45
+ 'Adip iatatet auaa vea.',
46
+ 'In ex con ent.',
47
+ 'Oatiat in amcons adaature.',
48
+ 'Exatate labo ulla re.',
49
+ 'Auta te esta para.',
50
+ 'Ipia sea commol magna.',
51
+ 'Endenia eur in aliamaga.',
52
+ 'Noabor modo autaa aata.',
53
+ 'Ad irab ut cupar.',
54
+ 'Si voaabor alit occaaa.',
55
+ )
56
+ end
57
+
58
+ def actual
59
+ Struct::MyStruct.new(
60
+ 'venia con maga qaboadaa.',
61
+ 'esea alit ut ofabo.',
62
+ 'etuata ing mina famcom.',
63
+ 'irur ciat nullum nis.',
64
+ 'Sin maga eaaec aate.',
65
+ 'Idua amag la ip.',
66
+ 'Dolo cida maal exceaad.',
67
+ 'Exce exea autat alabaa.',
68
+ 'oat adaa eser qatat.',
69
+ 'paar seaali ocaabor prabo.',
70
+ 'cona catat exat dolo.',
71
+ 'miat dat adid labo.',
72
+ 'Coam ea naat caatati.',
73
+ 'Idaat cat do in.',
74
+ 'Ut quatat adaat excae.',
75
+ 'Adip iatatet auaa vea.',
76
+ 'in ex con ent.',
77
+ 'oatiat in amcons adaature.',
78
+ 'exatate labo ulla re.',
79
+ 'auta te esta para.',
80
+ 'Ipia sea commol magna.',
81
+ 'Endenia eur in aliamaga.',
82
+ 'Noabor modo autaa aata.',
83
+ 'Ad irab ut cupar.',
84
+ )
85
+ end
@@ -0,0 +1,5 @@
1
+ --- expected
2
+ +++ actual
3
+ @@ -1 +1 @@
4
+ -#<struct Struct::MyStruct cat="Venia con maga qaboadaa.", etur="Esea alit ut ofabo.", est="Etuata ing mina famcom.", iam="Irur ciat nullum nis.", ent="Sin maga eaaec aate.", et="Idua amag la ip.", aabor="Dolo cida maal exceaad.", quaa="Exce exea autat alabaa.", quipa="Oat adaa eser qatat.", estat="Paar seaali ocaabor prabo.", deseqama="Cona catat exat dolo.", dolor="Miat dat adid labo.", occat="Coam ea naat caatati.", enim="Idaat cat do in.", sing="Ut quatat adaat excae.", ea="Adip iatatet auaa vea.", sicingaeaada="In ex con ent.", labam="Oatiat in amcons adaature.", eaaua="Exatate labo ulla re.", suaa="Auta te esta para.", amea="Ipia sea commol magna.", magat="Endenia eur in aliamaga.", lam="Noabor modo autaa aata.", re="Ad irab ut cupar.", ex="Si voaabor alit occaaa.">
5
+ +#<struct Struct::MyStruct cat="venia con maga qaboadaa.", etur="esea alit ut ofabo.", est="etuata ing mina famcom.", iam="irur ciat nullum nis.", ent="Sin maga eaaec aate.", et="Idua amag la ip.", aabor="Dolo cida maal exceaad.", quaa="Exce exea autat alabaa.", quipa="oat adaa eser qatat.", estat="paar seaali ocaabor prabo.", deseqama="cona catat exat dolo.", dolor="miat dat adid labo.", occat="Coam ea naat caatati.", enim="Idaat cat do in.", sing="Ut quatat adaat excae.", ea="Adip iatatet auaa vea.", sicingaeaada="in ex con ent.", labam="oatiat in amcons adaature.", eaaua="exatate labo ulla re.", suaa="auta te esta para.", amea="Ipia sea commol magna.", magat="Endenia eur in aliamaga.", lam="Noabor modo autaa aata.", re="Ad irab ut cupar.", ex=nil>
@@ -0,0 +1,35 @@
1
+ require 'minitest/autorun'
2
+
3
+ class Example < Minitest::Test
4
+
5
+ require_relative 'data'
6
+
7
+ def test_assert_equal
8
+ begin
9
+ assert_equal(expected, actual)
10
+ rescue Minitest::Assertion => x
11
+ File.open('default.txt', 'w') do |file|
12
+ file.write(x.message)
13
+ end
14
+ end
15
+ begin
16
+ Minitest::Test.make_my_diffs_pretty!
17
+ assert_equal(expected, actual)
18
+ rescue Minitest::Assertion => x
19
+ File.open('better.txt', 'w') do |file|
20
+ file.write(x.message)
21
+ end
22
+ end
23
+ begin
24
+ require 'minitest_lucid'
25
+ assert_equal(expected, actual)
26
+ rescue Minitest::Assertion => x
27
+ File.open('lucid.txt', 'w') do |file|
28
+ file.write(x.message)
29
+ end
30
+ end
31
+ end
32
+
33
+ end
34
+
35
+
@@ -0,0 +1,81 @@
1
+
2
+ {
3
+ :expected => {
4
+ :class => Struct::MyStruct,
5
+ :size => 25,
6
+ },
7
+ :actual => {
8
+ :class => Struct::MyStruct,
9
+ :size => 25,
10
+ },
11
+ :elucidation => {
12
+ :changed_values => {
13
+ :cat => {
14
+ :expected => 'Venia con maga qaboadaa.',
15
+ :got => 'venia con maga qaboadaa.',
16
+ },
17
+ :etur => {
18
+ :expected => 'Esea alit ut ofabo.',
19
+ :got => 'esea alit ut ofabo.',
20
+ },
21
+ :est => {
22
+ :expected => 'Etuata ing mina famcom.',
23
+ :got => 'etuata ing mina famcom.',
24
+ },
25
+ :iam => {
26
+ :expected => 'Irur ciat nullum nis.',
27
+ :got => 'irur ciat nullum nis.',
28
+ },
29
+ :quipa => {
30
+ :expected => 'Oat adaa eser qatat.',
31
+ :got => 'oat adaa eser qatat.',
32
+ },
33
+ :estat => {
34
+ :expected => 'Paar seaali ocaabor prabo.',
35
+ :got => 'paar seaali ocaabor prabo.',
36
+ },
37
+ :deseqama => {
38
+ :expected => 'Cona catat exat dolo.',
39
+ :got => 'cona catat exat dolo.',
40
+ },
41
+ :dolor => {
42
+ :expected => 'Miat dat adid labo.',
43
+ :got => 'miat dat adid labo.',
44
+ },
45
+ :sicingaeaada => {
46
+ :expected => 'In ex con ent.',
47
+ :got => 'in ex con ent.',
48
+ },
49
+ :labam => {
50
+ :expected => 'Oatiat in amcons adaature.',
51
+ :got => 'oatiat in amcons adaature.',
52
+ },
53
+ :eaaua => {
54
+ :expected => 'Exatate labo ulla re.',
55
+ :got => 'exatate labo ulla re.',
56
+ },
57
+ :suaa => {
58
+ :expected => 'Auta te esta para.',
59
+ :got => 'auta te esta para.',
60
+ },
61
+ :ex => {
62
+ :expected => 'Si voaabor alit occaaa.',
63
+ :got => nil,
64
+ },
65
+ },
66
+ :ok_values => {
67
+ :ent => 'Sin maga eaaec aate.',
68
+ :et => 'Idua amag la ip.',
69
+ :aabor => 'Dolo cida maal exceaad.',
70
+ :quaa => 'Exce exea autat alabaa.',
71
+ :occat => 'Coam ea naat caatati.',
72
+ :enim => 'Idaat cat do in.',
73
+ :sing => 'Ut quatat adaat excae.',
74
+ :ea => 'Adip iatatet auaa vea.',
75
+ :amea => 'Ipia sea commol magna.',
76
+ :magat => 'Endenia eur in aliamaga.',
77
+ :lam => 'Noabor modo autaa aata.',
78
+ :re => 'Ad irab ut cupar.',
79
+ },
80
+ }
81
+ }
@@ -0,0 +1,17 @@
1
+ #### assert_equal
2
+
3
+ Here are structs, expected and actual, to be compared.
4
+
5
+ @[ruby](data.rb)
6
+
7
+ The default ```Minitest::Assertion``` message:
8
+
9
+ @[diff](default.txt)
10
+
11
+ Message using ```make_my_diffs_pretty!```:
12
+
13
+ @[diff](better.txt)
14
+
15
+ Message using ```minitest_lucid```
16
+
17
+ @[ruby](lucid.txt)
@@ -0,0 +1,3 @@
1
+ ### Struct
2
+
3
+ @[:markdown](assert_equal/template.md)
@@ -0,0 +1,19 @@
1
+ # Minitest Lucid
2
+
3
+ Use ```minitest_lucid``` to improve error messages from ```minitest```.
4
+
5
+
6
+ ## Supported Classes
7
+
8
+ - [Hash](#hash)
9
+ - [Set](#set)
10
+ - [Struct](#struct)
11
+
12
+ @[:markdown](hash/template.md)
13
+
14
+ @[:markdown](set/template.md)
15
+
16
+ @[:markdown](struct/template.md)
17
+
18
+
19
+
@@ -0,0 +1,39 @@
1
+
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'minitest_lucid/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'minitest_lucid'
8
+ spec.version = MinitestLucid::VERSION
9
+ spec.authors = ['burdettelamar']
10
+ spec.email = ['burdettelamar@yahoo.com']
11
+
12
+ spec.summary = %q{Lucid error messages for minitest.}
13
+ spec.description = %q{Lucid error messages for minitest.}
14
+ spec.homepage = 'https://www.github.com/BurdetteLamar/minitest_lucid'
15
+ spec.license = 'MIT'
16
+
17
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
19
+ # if spec.respond_to?(:metadata)
20
+ # spec.metadata['allowed_push_host'] = 'TODO: Set to \'http://mygemserver.com\''
21
+ # else
22
+ # raise 'RubyGems 2.0 or newer is required to protect against ' \
23
+ # 'public gem pushes.'
24
+ # end
25
+
26
+ # Specify which files should be added to the gem when it is released.
27
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
28
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
29
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
30
+ end
31
+ spec.require_paths = ['lib']
32
+
33
+ spec.add_development_dependency 'bundler', '~> 1.16'
34
+ spec.add_development_dependency 'rake', '~> 10.0'
35
+ spec.add_development_dependency 'minitest', '~> 5.0'
36
+ spec.add_development_dependency 'lorem-ipsum', '~> 0.1'
37
+ spec.add_development_dependency 'markdown_helper', '~> 2.0'
38
+ spec.add_runtime_dependency 'diff-lcs', '~> 1.3'
39
+ end