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  }