// untested sections: 2packagematchersimport("fmt""github.com/onsi/gomega/format")typeHaveCapMatcherstruct{Countint}func(matcher*HaveCapMatcher)Match(actualinterface{})(successbool,errerror){length,ok:=capOf(actual)if!ok{returnfalse,fmt.Errorf("HaveCap matcher expects a array/channel/slice. Got:\n%s",format.Object(actual,1))}returnlength==matcher.Count,nil}func(matcher*HaveCapMatcher)FailureMessage(actualinterface{})(messagestring){returnfmt.Sprintf("Expected\n%s\nto have capacity %d",format.Object(actual,1),matcher.Count)}func(matcher*HaveCapMatcher)NegatedFailureMessage(actualinterface{})(messagestring){returnfmt.Sprintf("Expected\n%s\nnot to have capacity %d",format.Object(actual,1),matcher.Count)}