github.com/asifdxtreme/cli@v6.1.3-0.20150123051144-9ead8700b4ae+incompatible/testhelpers/matchers/passed_requirements.go (about) 1 package matchers 2 3 import ( 4 "github.com/cloudfoundry/cli/cf/errors" 5 testcmd "github.com/cloudfoundry/cli/testhelpers/commands" 6 "github.com/onsi/gomega" 7 ) 8 9 type havePassedRequirementsMatcher struct{} 10 11 func HavePassedRequirements() gomega.OmegaMatcher { 12 return havePassedRequirementsMatcher{} 13 } 14 15 func (matcher havePassedRequirementsMatcher) Match(actual interface{}) (bool, error) { 16 switch actual.(type) { 17 case bool: 18 asBool := actual.(bool) 19 return asBool == true, nil 20 case testcmd.RunCommandResult: 21 result := actual.(testcmd.RunCommandResult) 22 return result == testcmd.RunCommandResultSuccess, nil 23 default: 24 return false, errors.NewWithFmt("Expected actual value to be a bool or enum, but it was a %T", actual) 25 } 26 } 27 28 func (matcher havePassedRequirementsMatcher) FailureMessage(_ interface{}) string { 29 return "Expected command to pass requirements but it did not" 30 } 31 32 func (matcher havePassedRequirementsMatcher) NegatedFailureMessage(_ interface{}) string { 33 return "Expected command to have not passed requirements but it did" 34 }