blob: 778179c2730bacf2cdf1b74ac772e32e5066eac5 [file] [log] [blame] [edit]
package assert
import (
"testing"
"github.com/smartystreets/assertions/internal/unit"
"github.com/smartystreets/assertions/should"
)
func TestFailedResultFixture(t *testing.T) {
unit.Run(new(FailedResultFixture), t)
}
type FailedResultFixture struct {
*unit.Fixture
result *Result
}
func (this *FailedResultFixture) Setup() {
this.result = So(1, should.Equal, 2)
this.result.logger = capture()
this.result.stdout = this.result.logger.Log
}
func (this *FailedResultFixture) assertLogMessageContents() {
this.So(this.result.logger.Log.String(), should.ContainSubstring, "✘ So(actual: 1, should.Equal, expected: [2])")
this.So(this.result.logger.Log.String(), should.ContainSubstring, "Assertion failure at ")
this.So(this.result.logger.Log.String(), should.EndWith, "Expected: '2'\nActual: '1'\n(Should be equal)\n")
}
func (this *FailedResultFixture) TestQueryFunctions() {
this.So(this.result.Failed(), should.BeTrue)
this.So(this.result.Passed(), should.BeFalse)
this.So(this.result.logger.Log.Len(), should.Equal, 0)
this.result.logger.Print(this.result.String())
this.result.logger.Print(this.result.Error())
this.assertLogMessageContents()
}
func (this *FailedResultFixture) TestPrintln() {
this.So(this.result.Println(), should.Equal, this.result)
this.assertLogMessageContents()
}
func (this *FailedResultFixture) TestLog() {
this.So(this.result.Log(), should.Equal, this.result)
this.assertLogMessageContents()
}
func (this *FailedResultFixture) TestPanic() {
this.So(func() { this.result.Panic() }, should.Panic)
this.assertLogMessageContents()
}
func (this *FailedResultFixture) TestFatal() {
this.So(this.result.Fatal(), should.Equal, this.result)
this.assertLogMessageContents()
}