Skip to content

Commit 49e9fb6

Browse files
committed
chore: improve tests range
1 parent d422319 commit 49e9fb6

1 file changed

Lines changed: 43 additions & 14 deletions

File tree

test/N3Store-test.js

Lines changed: 43 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -277,36 +277,65 @@ describe('Store', () => {
277277

278278
describe('removing matching quads for RDF-star', () => {
279279
let store;
280-
beforeEach(() => {
281-
store = new Store([
282-
new Quad(new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1')), new NamedNode('p2'), new NamedNode('o1')),
283-
new Quad(new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1')), new NamedNode('p1'), new NamedNode('o1')),
284-
new Quad(new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1')), new NamedNode('p2'), new NamedNode('o2')),
285-
new Quad(new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1')), new NamedNode('p1'), new NamedNode('o2')),
286-
new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o2')),
287-
]);
280+
const allQuads = [
281+
new Quad(new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1')), new NamedNode('p2'), new NamedNode('o1')),
282+
new Quad(new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1')), new NamedNode('p1'), new NamedNode('o1')),
283+
new Quad(new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1')), new NamedNode('p2'), new NamedNode('o2')),
284+
new Quad(new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1')), new NamedNode('p1'), new NamedNode('o2')),
285+
new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o2')),
286+
]
287+
before(() => {
288+
store = new Store(allQuads);
288289
});
289290

290-
it('should return the removed quads',
291-
forResultStream(shouldIncludeAll, () => { return store.removeMatches(null, 'p2', 'o2'); },
292-
[termToId(new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1'))), 'p2', 'o2']));
291+
it('should start with the correct size', () => {
292+
store.size.should.eql(5);
293+
});
294+
295+
it('should return the removed quads', async () => {
296+
const quads = await arrayifyStream(store.removeMatches(null, 'p2', 'o2'));
297+
quads.length.should.equal(1);
298+
quads[0].equals(
299+
new Quad(
300+
new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1')),
301+
new NamedNode('p2'),
302+
new NamedNode('o2')
303+
)
304+
).should.equal(true);
305+
})
293306

294307
it('should decrease the size', () => {
295-
store.size.should.eql(5);
308+
store.size.should.eql(4);
296309
});
297310

298311
it('should match RDF-star and normal quads at the same time', done => {
299312
const stream = store.removeMatches(null, 'p1', 'o2');
300313
stream.on('end', () => {
301-
store.size.should.eql(3);
314+
store.size.should.eql(2);
302315
done();
303316
});
304317
});
305318

306319
it('should allow matching using a quad', done => {
307320
const stream = store.removeMatches(new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1')));
308321
stream.on('end', () => {
309-
store.size.should.eql(1);
322+
store.size.should.eql(0);
323+
done();
324+
});
325+
});
326+
327+
it('should allow matching using a quad and only match against relevant quads', done => {
328+
const s2 = new Store([
329+
...allQuads,
330+
new Quad(
331+
new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o2')),
332+
new NamedNode('p1'),
333+
new NamedNode('o2'))
334+
]);
335+
336+
const stream = s2.removeMatches(new Quad(new NamedNode('s1'), new NamedNode('p1'), new NamedNode('o1')));
337+
stream.on('end', () => {
338+
s2.size.should.eql(2);
310339
done();
311340
});
312341
});

0 commit comments

Comments
 (0)