package errors import ( "errors" "reflect" "testing" ) func TestManual(t *testing.T) { t.Logf("default: %v\n", NewError()) } func TestNeedExit(t *testing.T) { type args struct { err error } simpleCaseErr := NewError() CaseNoExitErr := NewError().SetExitStatus(0) tests := []struct { name string args args want ErrorWithStatus want1 bool }{ { name: "simple", args: args{ err: simpleCaseErr, }, want: simpleCaseErr, want1: true, }, { name: "nil input", args: args{ err: nil, }, want: nil, want1: false, }, { name: "not ErrorWithStatus", args: args{ err: errors.New("test"), }, want: nil, want1: false, }, { name: "error but no exit", args: args{ err: CaseNoExitErr, }, want: CaseNoExitErr, want1: false, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, got1 := NeedExit(tt.args.err) if !reflect.DeepEqual(got, tt.want) { t.Errorf("NeedExit() got = %v, want %v", got, tt.want) } if got1 != tt.want1 { t.Errorf("NeedExit() got1 = %v, want %v", got1, tt.want1) } }) } } func TestNewErrorWithFrames(t *testing.T) { type args struct { err error } simplecase := errors.New("test") tests := []struct { name string args args want ErrorWithStatus }{ // TODO: Add test cases. { name: "simple", args: args{ err: simplecase, }, want: NewErrorWithFrames(simplecase), }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := NewErrorWithFrames(tt.args.err); !reflect.DeepEqual(got, tt.want) { t.Errorf("NewErrorWithFrames() = %v, want %v", got, tt.want) } else { t.Log("check", got) } }) } }