Documentation
¶
Index ¶
- func ContainsAll(required, actual []string) bool
- func ContainsAny(items, actual []string) bool
- func Extra(expected, actual []string) []string
- func FormatResult(r ComparisonResult) string
- func Missing(expected, actual []string) []string
- func Precision(expected, actual []string) float64
- func Recall(expected, actual []string) float64
- type ComparisonResult
- type Fixture
- type Thresholds
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ContainsAll ¶
ContainsAll returns true if actual contains every element in required.
func ContainsAny ¶
ContainsAny returns true if actual contains at least one element from items.
func FormatResult ¶
func FormatResult(r ComparisonResult) string
FormatResult returns a human-readable summary of a comparison result.
Types ¶
type ComparisonResult ¶
type ComparisonResult struct {
Subject string
MustReadRecall float64
MustReadPrecision float64
MustReadMissing []string
MustReadExtra []string
RelatedRecall float64
RelatedMissing []string
TestsRecall float64
TestsMissing []string
ForbiddenViolations []string // must_read_forbidden items found in actual must_read
RelatedForbiddenViolations []string // related_forbidden items found in actual related
OrderingViolations []string // must_read_ordered pairs where order is wrong
IgnoreMissing []string // ignore_must_contain items found in positive sections
ExternalRecall float64
ExternalMissing []string
StableMissing []string // expect_stable entries not found as stable in must_read
Pass bool
}
ComparisonResult holds the outcome of comparing actual output to a fixture.
func Compare ¶
func Compare(fixture *Fixture, actual *model.AnalysisOutput, th Thresholds) ComparisonResult
Compare checks actual analysis output against fixture expectations.
type Fixture ¶
type Fixture struct {
Subject string `json:"subject"`
MustRead []string `json:"must_read"`
MustReadForbidden []string `json:"must_read_forbidden"`
MustReadOrdered []string `json:"must_read_ordered,omitempty"`
Related []string `json:"related"`
RelatedForbidden []string `json:"related_forbidden,omitempty"`
Tests []string `json:"tests"`
IgnoreMustContain []string `json:"ignore_must_contain"`
External []string `json:"external,omitempty"`
ExpectStable []string `json:"expect_stable,omitempty"`
}
Fixture defines expected analysis output for a single subject file.
func LoadFixture ¶
LoadFixture reads a single fixture JSON file.
func LoadFixturesDir ¶
LoadFixturesDir loads all .json fixtures from a directory.
type Thresholds ¶
type Thresholds struct {
MustReadRecall float64
MustReadPrecision float64
RelatedRecall float64
TestsRecall float64
ExternalRecall float64
}
Thresholds configures pass/fail cutoffs for fixture comparison.
func DefaultThresholds ¶
func DefaultThresholds() Thresholds
DefaultThresholds returns the targets from the testing strategy.