Class: NullResultTest
- Defined in:
- lib/null_result.rb
Overview
Tests for the NullResult class.
This suite verifies that the default and custom initialization of NullResult work as expected and that the public interface (e.g. #message, #data, #success?, #failure?, and #to_s) behaves correctly.
Instance Method Summary collapse
- #test_custom_data ⇒ Object
- #test_custom_message ⇒ Object
- #test_custom_message_and_data ⇒ Object
- #test_default_instance ⇒ Object
- #test_to_s_format ⇒ Object
Instance Method Details
#test_custom_data ⇒ Object
109 110 111 112 113 114 |
# File 'lib/null_result.rb', line 109 def test_custom_data custom_data = { error: 'invalid', code: 404 } nr = NullResult.new(data: custom_data) assert_equal custom_data, nr.data, 'Custom data mismatch' assert_equal 'No valid result available', nr., 'Default message expected' end |
#test_custom_message ⇒ Object
102 103 104 105 106 107 |
# File 'lib/null_result.rb', line 102 def = 'Custom error message' nr = NullResult.new(message: ) assert_equal , nr., 'Custom message mismatch' assert_nil nr.data, 'Data should remain nil when not provided' end |
#test_custom_message_and_data ⇒ Object
116 117 118 119 120 121 122 |
# File 'lib/null_result.rb', line 116 def = 'Error occurred' custom_data = { reason: 'not_found' } nr = NullResult.new(message: , data: custom_data) assert_equal , nr., 'Custom message mismatch' assert_equal custom_data, nr.data, 'Custom data mismatch' end |
#test_default_instance ⇒ Object
93 94 95 96 97 98 99 100 |
# File 'lib/null_result.rb', line 93 def test_default_instance nr = NullResult.new assert_equal 'No valid result available', nr., 'Default message mismatch' assert_nil nr.data, 'Default data should be nil' refute nr.success?, 'Default instance should not be a success' assert nr.failure?, 'Default instance should be a failure' assert_match /NullResult/, nr.to_s, 'to_s should include the class name' end |
#test_to_s_format ⇒ Object
124 125 126 127 128 129 130 |
# File 'lib/null_result.rb', line 124 def test_to_s_format = 'Error occurred' custom_data = { a: 1, b: 2 } nr = NullResult.new(message: , data: custom_data) expected = "NullResult(message: #{custom_message.inspect}, data: #{custom_data.inspect})" assert_equal expected, nr.to_s, 'String representation does not match expected format' end |