From 906180e94bcc5dc09c146c1041df0f135e11b89b Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 28 Dec 2019 14:23:48 +0000 Subject: test for Store --- t/lib/TestIndex.pm6 | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 t/lib/TestIndex.pm6 (limited to 't/lib') diff --git a/t/lib/TestIndex.pm6 b/t/lib/TestIndex.pm6 new file mode 100644 index 0000000..730ee92 --- /dev/null +++ b/t/lib/TestIndex.pm6 @@ -0,0 +1,32 @@ +use v6.d; +use MaildirIndexer::Index; + +unit class TestIndex does MaildirIndexer::Index; + +has %.mails; +has atomicint $!seen = 0; +has Int $.expect; +has $.seen-all; +has $!seen-all-vow; + +method set-expect(Int:D $!expect) { + $!seen ⚛= 0; + $!seen-all = Promise.new; + $!seen-all-vow = $!seen-all.vow; +} + +method add-mail(MaildirIndexer::Email:D $email, Str:D $mailbox --> Nil) { + %.mails{$mailbox}{$email.path}=1; + ++⚛$!seen; + if ($!seen == $!expect) { + $!seen-all-vow.keep(True) + } +} + +method del-path(IO:D $path, Str:D $mailbox --> Nil) { + %.mails{$mailbox}{$path}:delete; +} + +method mailbox-for-email(MaildirIndexer::Email:D $email --> Str) { + return 'foo' +} -- cgit v1.2.3