Config-Model

 view release on metacpan or  search on metacpan

t/model.t  view on Meta::CPAN

# -*- cperl -*-

use ExtUtils::testlib;
use Test::More;
use Test::Exception;
use Test::Warn 0.11;
use Test::Differences;
use Test::Memory::Cycle;
use Config::Model;
use Config::Model::Lister;
use Config::Model::Tester::Setup qw/init_test/;
use Data::Dumper;
use Log::Log4perl qw(:easy :levels);

use strict;
use warnings;

my ($model, $trace) = init_test();

subtest "check available models" => sub {
    my ( $cat, $models ) = Config::Model::Lister::available_models(1);

    eq_or_diff( $cat->{system}, [qw/fstab popcon/], "check available system models" );
    is( $models->{popcon}{model}, 'PopCon', "check available popcon" );
};

subtest "copy summary properties" => sub {
    my $raw_model = {
        element => [foo => {}, bar => {}],
        summary => {
            foo => 'foo summary',
            bar => 'bar summary',
        }
    };
    my $expect = {
        element => {
            foo => {
                summary => 'foo summary'
            },
            bar => {
                summary => 'bar summary'
            }
        },
        element_list => [qw/foo bar/],
    };
    my $normalized_model = {
        element_list => [qw/foo bar/],
        element => {foo => {}, bar => {} }
    };
    $model->copy_aliased_element_properties($normalized_model, $raw_model, "SummaryTest", ['summary']);
    eq_or_diff($normalized_model, $expect, "check copied summary");
};

subtest "copy status properties" => sub {
    my $raw_model = {
        element => [foo => {}, bar => {}, baz => {}, baz2 => {},],
        status => {
            deprecated => [qw/foo bar/],
            obsolete => 'baz',
        }
    };
    my $expect = {
        element => {
            foo => {
                status => 'deprecated'
            },
            bar => {



( run in 0.646 second using v1.01-cache-2.11-cpan-6aa56a78535 )