File: iterator-materialized.t

package info (click to toggle)
librdf-trine-perl 1.015-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 10,188 kB
  • ctags: 1,059
  • sloc: perl: 17,584; makefile: 30; sql: 20
file content (31 lines) | stat: -rw-r--r-- 793 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env perl
use strict;
use warnings;
no warnings 'redefine';
use URI::file;
use Test::More tests => 5;

use Data::Dumper;
use RDF::Trine;
use RDF::Trine::Iterator qw(sgrep smap swatch);
use RDF::Trine::Iterator::Graph;
use RDF::Trine::Iterator::Bindings;
use RDF::Trine::Iterator::Boolean;

{
	my @data	= ({value=>1},{value=>2},{value=>3});
	my $stream	= RDF::Trine::Iterator::Bindings->new( \@data, [qw(value)] );
	isa_ok( $stream, 'RDF::Trine::Iterator' );
	my $m		= $stream->materialize;
	isa_ok( $m, 'RDF::Trine::Iterator::Bindings::Materialized' );
	
	my $data	= $m->next;
	is( $data->{value}, 1, 'first value' );
	
	$m->reset;
	for (qw(first second)) {
		my @values	= $m->get_all;
		is_deeply( \@values, [{value=>1}, {value=>2}, {value=>3}], "deep comparison ($_ run)" );
	}
}