From fd5749ab518cdf3c68e94fbad168aa2a7725d592 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Sat, 14 Nov 2009 21:01:26 +0100 Subject: [PATCH] XXX: distribution test --- t/10-ranges.t | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/t/10-ranges.t b/t/10-ranges.t index 84f4dbb..cf3b0a4 100644 --- a/t/10-ranges.t +++ b/t/10-ranges.t @@ -2,7 +2,7 @@ use strict; use warnings; -use Test::More tests => 7; +use Test::More tests => 8; use Test::NoWarnings; use Data::Dump 'pp'; @@ -85,13 +85,13 @@ TODO: { # disallow backtracking of 'lguq' to 'lc' to prevent qw[-k l-] # so only lookahead (to 'lkq') remains [qw(-k l-lj lk-)], - 'no lookbehind after full lookahead' + 'lookbehind forbidden' ); is_deeply( $index->ranges({ pagesize=>10, context=>9 }), # allow a single (10-9) entry (l-lf = lc) to remain [qw(-k l-lf lg-)], - 'lookbehind after full lookahead' + 'lookbehind penalty' ); is_deeply( $index->ranges({ pagesize=>10, context=>10 }), @@ -101,6 +101,32 @@ TODO: { ); }; +subtest 'distribution' => sub { + plan tests => 2; + my $index = List::Index->new([qw( + gnihka gniub go gsearnrqns gtdvcxyt gw gwoufolwcvmtueyg gysgphci h habkdgifjfxoh + hbbvjf hbqleexnqts hccg hd hdoeqwdmgqwaoya hfbegicieuxz hfm hj hkoysmws hmylu + hnvtvpievbdlkrmb hs hvdvcqn hvn hyrybeur iaiaab ib ibavqyar idfniqvxpohbk idh + )]) or return; + is_deeply( + $index->ranges({ pagesize=>10, context=>6 }), + [qw(-g h i-)], + 'large context' + ); +{ local $TODO = '?'; + is_deeply( + $index->ranges({ pagesize=>10, context=>5 }), + # after 2nd page is enlarged by lookbehind to 'h', limit subsequent lookahead + # to prevent the page from getting too large (17 entries if forwarded to 'i') + [qw(-g h-hm hn-)], + 'lookahead penalty' + ); + # page #14 [gn-g] (8): gnihka gniub go gsearnrqns gtdvcxyt gwawkvmueovdjtfj gwoufolwcvmtueyg gysgphci + # page #15 [h] (17): h habkdgifjfxoh hbbvjf hbqleexnqts hccgszftbaymfu hdaqzkow hdoeqwdmgqwaoya hfbegicieu hfmlpzzioqjbthz hj hkoysmws hmylu hnvtvpievbdlkrmb hsodfpkatk hvdvcqn hvn hyrybeurqtevjfmi + # page #16 [i-ie] (5): i iaab ibiavqyar idfniqvxpohbk idh +} +}; + subtest 'context' => sub { plan tests => 4; my $index = List::Index->new([qw( -- 2.30.0