| package unittest |
| |
| import "fmt" |
| |
| // AssertionResult result return by Assertion.Assert |
| type AssertionResult struct { |
| Index int |
| FailInfo []string |
| Passed bool |
| AssertType string |
| Not bool |
| CustomInfo string |
| } |
| |
| func (ar AssertionResult) print(printer *Printer, verbosity int) { |
| if ar.Passed { |
| return |
| } |
| var title string |
| if ar.CustomInfo != "" { |
| title = ar.CustomInfo |
| } else { |
| var notAnnotation string |
| if ar.Not { |
| notAnnotation = " NOT" |
| } |
| title = fmt.Sprintf("- asserts[%d]%s `%s` fail", ar.Index, notAnnotation, ar.AssertType) |
| } |
| printer.println(printer.danger(title+"\n"), 2) |
| for _, infoLine := range ar.FailInfo { |
| printer.println(infoLine, 3) |
| } |
| printer.println("", 0) |
| } |
| |
| // ToString writing the object to a customized formatted string. |
| func (ar AssertionResult) stringify() string { |
| content := "" |
| if ar.CustomInfo != "" { |
| content += fmt.Sprintf("\t\t %s \n", ar.CustomInfo) |
| } else { |
| var notAnnotation string |
| if ar.Not { |
| notAnnotation = " NOT" |
| } |
| content += fmt.Sprintf("\t\t - asserts[%d]%s `%s` fail \n", ar.Index, notAnnotation, ar.AssertType) |
| } |
| |
| for _, infoLine := range ar.FailInfo { |
| content += fmt.Sprintf("\t\t\t %s \n", infoLine) |
| } |
| |
| return content |
| } |