Mercurial > hg > Gears > Gears
diff src/parallel_execution/perlTests/Interface.t @ 693:aeab4866ee36
defined separate_code_and_data_gear_after_parse test
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 21 Aug 2020 17:07:01 +0900 |
parents | 39f856a85565 |
children | 89abde9fb7ce |
line wrap: on
line diff
--- a/src/parallel_execution/perlTests/Interface.t Fri Aug 21 15:57:24 2020 +0900 +++ b/src/parallel_execution/perlTests/Interface.t Fri Aug 21 17:07:01 2020 +0900 @@ -3,7 +3,7 @@ use warnings; use FindBin; -use Test::More tests => 2; #subtests +use Test::More tests => 3; #subtests use_ok "Gears::Interface"; #use test @@ -45,3 +45,67 @@ }; }; + +subtest 'separate_code_and_data_gear_after_parse' => sub { + subtest 'Queue' => sub { + plan tests => 1; + + my $queue_header = "$FindBin::Bin/../Queue.h"; + + my $expand = { + 'data' => [ + 'union Data* queue;', + 'union Data* data;' + ], + 'content' => [ + 'enum Code whenEmpty;', + 'enum Code clear;', + 'union Data* queue;', + 'enum Code put;', + 'union Data* data;', + 'enum Code take;', + 'enum Code isEmpty;', + 'enum Code next;' + ], + 'file_name' => $queue_header, + 'name' => 'Queue', + 'codes' => [ + { + 'args' => '...', + 'name' => 'whenEmpty' + }, + { + 'args' => 'Impl* queue, __code next(...)', + 'name' => 'clear' + }, + { + 'name' => 'put', + 'args' => 'Impl* queue, union Data* data, __code next(...)' + }, + { + 'args' => 'Impl* queue, __code next(union Data* data, ...)', + 'name' => 'take' + }, + { + 'name' => 'isEmpty', + 'args' => 'Impl* queue, __code next(...), __code whenEmpty(...)' + }, + { + 'name' => 'next', + 'args' => '...' + } + ], + 'hasOutputArgs' => { + 'take' => { + 'Data' => 'union', + 'data' => '*' + } + } + }; + + my $res = Gears::Interface->separate_code_and_data_gear_after_parse($queue_header); + + is_deeply ($res, $expand, "parsing Queue.h"); + }; + +};