initial commits
							parent
							
								
									168345c9e7
								
							
						
					
					
						commit
						347fb714e0
					
				|  | @ -0,0 +1,69 @@ | |||
| package nul_test | ||||
| 
 | ||||
| import ( | ||||
| 	"testing" | ||||
| 
 | ||||
| 	"sourcecode.social/reiver/go-nul" | ||||
| ) | ||||
| 
 | ||||
| func TestNullable_MarshalJSON_bool(t *testing.T) { | ||||
| 
 | ||||
| 	tests := []struct{ | ||||
| 		Value nul.Nullable[bool] | ||||
| 		Expected string | ||||
| 	}{ | ||||
| 		{ | ||||
| 			Value: nul.Null[bool](), | ||||
| 			Expected: "null", | ||||
| 		}, | ||||
| 		{ | ||||
| 			Value: nul.Something(false), | ||||
| 			Expected: "false", | ||||
| 		}, | ||||
| 		{ | ||||
| 			Value: nul.Something(true), | ||||
| 			Expected: "true", | ||||
| 		}, | ||||
| 	} | ||||
| 
 | ||||
| 	for testNumber, test := range tests { | ||||
| 
 | ||||
| 		actualBytes, err := test.Value.MarshalJSON() | ||||
| 		if nil != err { | ||||
| 			t.Errorf("For test #%d, did not expect an error but actually got one." , testNumber) | ||||
| 			t.Logf("ERROR: (%T) %s", err, err) | ||||
| 			t.Logf("VALUE: %#v", test.Value) | ||||
| 			continue | ||||
| 		} | ||||
| 
 | ||||
| 		actual := string(actualBytes) | ||||
| 		expected := test.Expected | ||||
| 
 | ||||
| 		if expected != actual { | ||||
| 			t.Errorf("For test #%d, the actual value for the JSON marshaling is not what was expected.", testNumber) | ||||
| 			t.Logf("EXPECTED: %q", expected) | ||||
| 			t.Logf("ACTUAL:   %q", actual) | ||||
| 			t.Logf("VALUE: %#v", test.Value) | ||||
| 			continue | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestNullable_MarshalJSON_bool_fail(t *testing.T) { | ||||
| 
 | ||||
| 	var nothing nul.Nullable[bool] | ||||
| 
 | ||||
| 	actualBytes, err := nothing.MarshalJSON() | ||||
| 	if nil == err { | ||||
| 		t.Error("Expected an error but did not actually get one.") | ||||
| 		t.Logf("ACTUAL: %q", actualBytes) | ||||
| 		t.Logf("ERROR: (%T) %s", err, err) | ||||
| 		return | ||||
| 	} | ||||
| 	if nil != actualBytes { | ||||
| 		t.Error("Expected not bytes but actually get some.") | ||||
| 		t.Logf("ACTUAL: %q", actualBytes) | ||||
| 		t.Logf("ERROR: (%T) %s", err, err) | ||||
| 		return | ||||
| 	} | ||||
| } | ||||
		Loading…
	
		Reference in New Issue