in coverage/coverage.go [323:369]
func (m *Model) SplitCovered(covered, uncovered *[]string) {
if m == nil || m.IsReadOnly {
return
}
if m.IsAnyCovered {
*covered = append(*covered, m.Identifier)
} else {
*uncovered = append(*uncovered, m.Identifier)
}
if m.Properties != nil {
for _, v := range *m.Properties {
v.SplitCovered(covered, uncovered)
}
}
if m.Variants != nil {
for _, v := range *m.Variants {
v.SplitCovered(covered, uncovered)
}
}
if m.Item != nil {
m.Item.SplitCovered(covered, uncovered)
}
if m.Enum != nil {
for k, isCovered := range *m.Enum {
if isCovered {
*covered = append(*covered, fmt.Sprintf("%s(%v)", m.Identifier, k))
} else {
*uncovered = append(*uncovered, fmt.Sprintf("%s(%v)", m.Identifier, k))
}
}
}
if m.Bool != nil {
for k, isCovered := range *m.Bool {
if isCovered {
*covered = append(*covered, fmt.Sprintf("%s(%v)", m.Identifier, k))
} else {
*uncovered = append(*uncovered, fmt.Sprintf("%s(%v)", m.Identifier, k))
}
}
}
}