MCPcopy
hub / github.com/cayleygraph/cayley / TestSetIterator

Function TestSetIterator

graph/graphtest/graphtest.go:627–712  ·  view source on GitHub ↗
(t testing.TB, gen testutil.DatabaseFunc, _ *Config)

Source from the content-addressed store, hash-verified

625}
626
627func TestSetIterator(t testing.TB, gen testutil.DatabaseFunc, _ *Config) {
628 qs, opts, closer := gen(t)
629 defer closer()
630
631 testutil.MakeWriter(t, qs, opts, MakeQuadSet()...)
632
633 expectIteratedQuads := func(it graph.Iterator, exp []quad.Quad) {
634 ExpectIteratedQuads(t, qs, it, exp, false)
635 }
636
637 // Subject iterator.
638 it := qs.QuadIterator(quad.Subject, qs.ValueOf(quad.String("C")))
639
640 expectIteratedQuads(it, []quad.Quad{
641 quad.Make("C", "follows", "B", nil),
642 quad.Make("C", "follows", "D", nil),
643 })
644 it.Reset()
645
646 and := iterator.NewAnd(
647 qs.QuadsAllIterator(),
648 it,
649 )
650
651 expectIteratedQuads(and, []quad.Quad{
652 quad.Make("C", "follows", "B", nil),
653 quad.Make("C", "follows", "D", nil),
654 })
655
656 // Object iterator.
657 it = qs.QuadIterator(quad.Object, qs.ValueOf(quad.String("F")))
658
659 expectIteratedQuads(it, []quad.Quad{
660 quad.Make("B", "follows", "F", nil),
661 quad.Make("E", "follows", "F", nil),
662 })
663
664 and = iterator.NewAnd(
665 qs.QuadIterator(quad.Subject, qs.ValueOf(quad.String("B"))),
666 it,
667 )
668
669 expectIteratedQuads(and, []quad.Quad{
670 quad.Make("B", "follows", "F", nil),
671 })
672
673 // Predicate iterator.
674 it = qs.QuadIterator(quad.Predicate, qs.ValueOf(quad.String("status")))
675
676 expectIteratedQuads(it, []quad.Quad{
677 quad.Make("B", "status", "cool", "status_graph"),
678 quad.Make("D", "status", "cool", "status_graph"),
679 quad.Make("G", "status", "cool", "status_graph"),
680 })
681
682 // Label iterator.
683 it = qs.QuadIterator(quad.Label, qs.ValueOf(quad.String("status_graph")))
684

Callers

nothing calls this directly

Calls 9

MakeWriterFunction · 0.92
NewAndFunction · 0.92
MakeQuadSetFunction · 0.85
ExpectIteratedQuadsFunction · 0.85
QuadIteratorMethod · 0.65
ValueOfMethod · 0.65
StringMethod · 0.65
ResetMethod · 0.65
QuadsAllIteratorMethod · 0.65

Tested by

no test coverage detected