| 10 | ) |
| 11 | |
| 12 | func TestCount(t *testing.T) { |
| 13 | ctx := context.TODO() |
| 14 | fixed := NewFixed( |
| 15 | graph.PreFetched(quad.String("a")), |
| 16 | graph.PreFetched(quad.String("b")), |
| 17 | graph.PreFetched(quad.String("c")), |
| 18 | graph.PreFetched(quad.String("d")), |
| 19 | graph.PreFetched(quad.String("e")), |
| 20 | ) |
| 21 | it := NewCount(fixed, nil) |
| 22 | require.True(t, it.Next(ctx)) |
| 23 | require.Equal(t, graph.PreFetched(quad.Int(5)), it.Result()) |
| 24 | require.False(t, it.Next(ctx)) |
| 25 | require.True(t, it.Contains(ctx, graph.PreFetched(quad.Int(5)))) |
| 26 | require.False(t, it.Contains(ctx, graph.PreFetched(quad.Int(3)))) |
| 27 | |
| 28 | fixed.Reset() |
| 29 | |
| 30 | fixed2 := NewFixed( |
| 31 | graph.PreFetched(quad.String("b")), |
| 32 | graph.PreFetched(quad.String("d")), |
| 33 | ) |
| 34 | it = NewCount(NewAnd(fixed, fixed2), nil) |
| 35 | require.True(t, it.Next(ctx)) |
| 36 | require.Equal(t, graph.PreFetched(quad.Int(2)), it.Result()) |
| 37 | require.False(t, it.Next(ctx)) |
| 38 | require.False(t, it.Contains(ctx, graph.PreFetched(quad.Int(5)))) |
| 39 | require.True(t, it.Contains(ctx, graph.PreFetched(quad.Int(2)))) |
| 40 | } |