MCPcopy
hub / github.com/google/mangle / TestMergedAddContains

Function TestMergedAddContains

factstore/factstore_test.go:166–207  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

164}
165
166func TestMergedAddContains(t *testing.T) {
167 store := NewSimpleInMemoryStore()
168 store.Add(atom("i(/exist)"))
169 store.Add(atom("you(/exist)"))
170 merged := NewMergedStore([]FactStore{store}, NewSimpleInMemoryStore())
171 if !merged.Contains(atom("i(/exist)")) {
172 t.Errorf("merged.Contains(%v)=false want true", atom("i(/exist)"))
173 }
174 if merged.Add(atom("i(/exist)")) {
175 t.Errorf("merged.Add(%v)=true want false", atom("i(/exist)"))
176 }
177 if !merged.Add(atom("i(/persist)")) {
178 t.Errorf("merged.Add(%v)=false want false", atom("i(/persist)"))
179 }
180 if merged.Add(atom("i(/persist)")) {
181 t.Errorf("merged.Add(%v)=true want false", atom("i(/persist)"))
182 }
183 merged.Add(atom("we(/persist)"))
184 if len(merged.ListPredicates()) != 3 {
185 t.Errorf("expected 3 predicates")
186 }
187
188 want := NewSimpleInMemoryStore()
189 want.Add(atom("i(/exist)"))
190 want.Add(atom("you(/exist)"))
191 want.Add(atom("i(/persist)"))
192 want.Add(atom("we(/persist)"))
193 var got []ast.Atom
194 merged.GetFacts(atom("i(X)"), func(fact ast.Atom) error {
195 got = append(got, fact)
196 return nil
197 })
198
199 if len(got) != 2 {
200 t.Errorf("GetFacts(): %d facts expected 2 facts: %v", len(got), got)
201 }
202 for _, a := range got {
203 if !want.Contains(a) {
204 t.Errorf("GetFacts(): unexpected fact %v", a)
205 }
206 }
207}
208
209func TestMergedMerge(t *testing.T) {
210 readStore := NewSimpleInMemoryStore()

Callers

nothing calls this directly

Calls 9

AddMethod · 0.95
ContainsMethod · 0.95
AddMethod · 0.95
ListPredicatesMethod · 0.95
GetFactsMethod · 0.95
ContainsMethod · 0.95
NewSimpleInMemoryStoreFunction · 0.85
NewMergedStoreFunction · 0.85
atomFunction · 0.70

Tested by

no test coverage detected