package hostclaim import "testing" func TestIsOrphan(t *testing.T) { if IsOrphan("A", Observed{Absent: true}) { t.Fatal("no claim = legacy, never orphan") } held := Observed{Claim: &Claim{Holder: &Holder{Incarnation: "A"}, Op: Op{Kind: KindServing}}} if IsOrphan("A", held) { t.Fatal("the holder's own record is not an orphan") } creating := Observed{Claim: &Claim{Holder: &Holder{Incarnation: "A"}, Op: Op{Kind: KindCreating, ID: "c"}}} if IsOrphan("A", creating) { t.Fatal("a record of the creating incarnation is not an orphan") } if !IsOrphan("A", Observed{Claim: &Claim{Holder: &Holder{Incarnation: "B"}, Op: Op{Kind: KindServing}}}) { t.Fatal("another incarnation's claim makes A an orphan") } if !IsOrphan("A", Observed{Claim: &Claim{}}) { t.Fatal("a free claim makes A an orphan") } }