App-BoolFindGrep

 view release on metacpan or  search on metacpan

t/app-boolfindgrep-bool.t  view on Meta::CPAN

#/usr/bin/env perl

use common::sense;
use warnings FATAL => q(all);
use English qw[-no_match_vars];
use List::Util qw[shuffle];
use Test::More;

my $class = q(App::BoolFindGrep::Bool);
use_ok($class) || say q(Bail out!);

my $obj = $class->new();

my @test = (
    [ q{a},     [ [ q(OPERAND), q(a), ] ], ],
    [ q{\(a\)}, [ [ q(OPERAND), q(\\(a\\)), ], ], ],
    [   q{(a)},
        [   [ q(PARENTHESIS), q{(}, ],
            [ q(OPERAND),     q(a), ],
            [ q(PARENTHESIS), q{)}, ],
        ],
    ],
    [   q{a AND b},
        [   [ q(OPERAND),  q(a), ],
            [ q(OPERATOR), q(AND), ],
            [ q(OPERAND),  q(b), ],
        ],
    ],
    [   q{a OR b},
        [   [ q(OPERAND),  q(a), ],
            [ q(OPERATOR), q(OR), ],
            [ q(OPERAND),  q(b), ],
        ],
    ],
    [   q{a AND NOT b},
        [   [ q(OPERAND),  q(a), ],
            [ q(OPERATOR), q(AND), ],
            [ q(OPERATOR), q(NOT), ],
            [ q(OPERAND),  q(b), ],
        ],
    ],
    [   q{a AND NOT b OR NOT c},
        [   [ q(OPERAND),  q(a), ],
            [ q(OPERATOR), q(AND), ],
            [ q(OPERATOR), q(NOT), ],
            [ q(OPERAND),  q(b), ],
            [ q(OPERATOR), q(OR), ],
            [ q(OPERATOR), q(NOT), ],
            [ q(OPERAND),  q(c), ],
        ],
    ],
    [   q{a AND b AND c AND d},
        [   [ q(OPERAND),  q(a), ],
            [ q(OPERATOR), q(AND), ],
            [ q(OPERAND),  q(b), ],
            [ q(OPERATOR), q(AND), ],
            [ q(OPERAND),  q(c), ],
            [ q(OPERATOR), q(AND), ],
            [ q(OPERAND),  q(d), ],
        ],
    ],
    [   q{a OR b OR c OR d},
        [   [ q(OPERAND),  q(a), ],
            [ q(OPERATOR), q(OR), ],
            [ q(OPERAND),  q(b), ],
            [ q(OPERATOR), q(OR), ],
            [ q(OPERAND),  q(c), ],
            [ q(OPERATOR), q(OR), ],
            [ q(OPERAND),  q(d), ],
        ],



( run in 2.534 seconds using v1.01-cache-2.11-cpan-3fabe0161c3 )