minitest_lucid 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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