package jess import "testing" func checkNoSpec(t *testing.T, a *Requirements, expectedNoSpec string) { t.Helper() noSpec := a.SerializeToNoSpec() if noSpec != expectedNoSpec { t.Errorf(`unexpected no spec "%s", expected "%s"`, noSpec, expectedNoSpec) } } func TestRequirements(t *testing.T) { t.Parallel() a := NewRequirements() checkNoSpec(t, a, "") a.Remove(SenderAuthentication) checkNoSpec(t, a, "S") a.Remove(RecipientAuthentication) checkNoSpec(t, a, "RS") a.Remove(Integrity) checkNoSpec(t, a, "IRS") a.Remove(Confidentiality) checkNoSpec(t, a, "CIRS") a.Add(SenderAuthentication) checkNoSpec(t, a, "CIR") a.Add(RecipientAuthentication) checkNoSpec(t, a, "CI") a.Add(Integrity) checkNoSpec(t, a, "C") a.Add(Confidentiality) checkNoSpec(t, a, "") }