(t *testing.T)
| 164 | } |
| 165 | |
| 166 | func 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 | |
| 209 | func TestMergedMerge(t *testing.T) { |
| 210 | readStore := NewSimpleInMemoryStore() |
nothing calls this directly
no test coverage detected