File Coverage

blib/lib/RPerl/DataType/Character.pm
Criterion Covered Total %
statement 33 85 38.8
branch 0 10 0.0
condition n/a
subroutine 11 20 55.0
pod n/a
total 44 115 38.2


line stmt bran cond sub pod time code
1             # [[[ HEADER ]]]
2             package RPerl::DataType::Character;
3 7     7   43 use strict;
  7         12  
  7         176  
4 7     7   30 use warnings;
  7         13  
  7         165  
5 7     7   33 use RPerl::AfterSubclass;
  7         14  
  7         940  
6             our $VERSION = 0.010_000;
7              
8             # [[[ OO INHERITANCE ]]]
9 7     7   42 use parent qw(RPerl::DataType::String);
  7         13  
  7         35  
10 7     7   302 use RPerl::DataType::String;
  7         17  
  7         28  
11              
12             # [[[ SUB-TYPES ]]]
13             # a character is a string of length 0 or 1, meaning a single letter, digit, or other ASCII (Unicode???) symbol
14             package # hide from PAUSE indexing
15             character;
16 7     7   41 use strict;
  7         14  
  7         121  
17 7     7   28 use warnings;
  7         10  
  7         176  
18 7     7   32 use parent qw(RPerl::DataType::Integer);
  7         13  
  7         25  
19              
20             # [[[ PRE-DECLARED TYPES ]]]
21             package # hide from PAUSE indexing
22             boolean;
23             package # hide from PAUSE indexing
24             unsigned_integer;
25             package # hide from PAUSE indexing
26             integer;
27             package # hide from PAUSE indexing
28             number;
29             package # hide from PAUSE indexing
30             string;
31              
32             # [[[ SWITCH CONTEXT BACK TO PRIMARY PACKAGE ]]]
33             package RPerl::DataType::Character;
34 7     7   502 use strict;
  7         14  
  7         119  
35 7     7   32 use warnings;
  7         11  
  7         173  
36              
37             # [[[ EXPORTS ]]]
38 7     7   44 use RPerl::Exporter 'import';
  7         13  
  7         29  
39             our @EXPORT = qw(character_CHECK character_CHECKTRACE character_to_boolean character_to_unsigned_integer character_to_integer character_to_number character_to_string);
40             our @EXPORT_OK = qw(character__typetest0 character__typetest1);
41              
42             # [[[ TYPE-CHECKING ]]]
43             sub character_CHECK {
44 0     0     { my void $RETURN_TYPE };
  0            
45 0           ( my $possible_character ) = @ARG;
46 0 0         if ( not( defined $possible_character ) ) {
47             # croak( "\nERROR ETV00, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\ncharacter value expected but undefined/null value found,\ncroaking" );
48 0           die( "\nERROR ETV00, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\ncharacter value expected but undefined/null value found,\ndying\n" );
49             }
50 0 0         if ( not( main::RPerl_SvCOKp($possible_character) ) ) {
51             # croak( "\nERROR ETV01, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\ncharacter value expected but non-character value found,\ncroaking" );
52 0           die( "\nERROR ETV01, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\ncharacter value expected but non-character value found,\ndying\n" );
53             }
54 0           return;
55             }
56             sub character_CHECKTRACE {
57 0     0     { my void $RETURN_TYPE };
  0            
58 0           ( my $possible_character, my $variable_name, my $subroutine_name ) = @ARG;
59 0 0         if ( not( defined $possible_character ) ) {
60             # croak( "\nERROR ETV00, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\ncharacter value expected but undefined/null value found,\nin variable " . $variable_name . " from subroutine " . $subroutine_name . ",\ncroaking" );
61 0           die( "\nERROR ETV00, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\ncharacter value expected but undefined/null value found,\nin variable " . $variable_name . " from subroutine " . $subroutine_name . ",\ndying\n" );
62             }
63 0 0         if ( not( main::RPerl_SvCOKp($possible_character) ) ) {
64             # croak( "\nERROR ETV01, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\ncharacter value expected but non-character value found,\nin variable " . $variable_name . " from subroutine " . $subroutine_name . ",\ncroaking" );
65 0           die( "\nERROR ETV01, TYPE-CHECKING MISMATCH, PERLOPS_PERLTYPES:\ncharacter value expected but non-character value found,\nin variable " . $variable_name . " from subroutine " . $subroutine_name . ",\ndying\n" );
66             }
67 0           return;
68             }
69              
70             # [[[ BOOLEANIFY ]]]
71             sub character_to_boolean {
72 0     0     { my boolean $RETURN_TYPE };
  0            
73 0           (my character $input_character) = @ARG;
74             # character_CHECK($lucky_character);
75 0           character_CHECKTRACE( $input_character, '$input_character', 'character_to_boolean()' );
76 0 0         if (($input_character * 1) == 0) { return 0; }
  0            
77 0           else { return 1; }
78 0           return;
79             }
80              
81             # [[[ UNSIGNED INTEGERIFY ]]]
82             sub character_to_unsigned_integer {
83 0     0     { my unsigned_integer $RETURN_TYPE };
  0            
84 0           (my character $input_character) = @ARG;
85             # character_CHECK($lucky_character);
86 0           character_CHECKTRACE( $input_character, '$input_character', 'character_to_unsigned_integer()' );
87 0           return floor abs ($input_character * 1);
88             }
89              
90             # [[[ INTEGERIFY ]]]
91             sub character_to_integer {
92 0     0     { my integer $RETURN_TYPE };
  0            
93 0           (my character $input_character) = @ARG;
94             # character_CHECK($lucky_character);
95 0           character_CHECKTRACE( $input_character, '$input_character', 'character_to_integer()' );
96 0           return floor ($input_character * 1);
97             }
98              
99             # [[[ NUMBERIFY ]]]
100             sub character_to_number {
101 0     0     { my number $RETURN_TYPE };
  0            
102 0           (my character $input_character) = @ARG;
103             # character_CHECK($lucky_character);
104 0           character_CHECKTRACE( $input_character, '$input_character', 'character_to_number()' );
105 0           return $input_character * 1.0;
106             }
107              
108             # [[[ STRINGIFY ]]]
109             sub character_to_string {
110 0     0     { my string $RETURN_TYPE };
  0            
111 0           (my character $input_character) = @ARG;
112             # character_CHECK($lucky_character);
113 0           character_CHECKTRACE( $input_character, '$input_character', 'character_to_string()' );
114 0           return $input_character;
115             }
116              
117             # [[[ TYPE TESTING ]]]
118 0     0     sub character__typetest0 { { my character $RETURN_TYPE }; return chr(main::RPerl__DataType__Character__MODE_ID() + (ord '0')); }
  0            
  0            
119             sub character__typetest1 {
120 0     0     { my character $RETURN_TYPE };
  0            
121 0           (my character $lucky_character) = @ARG;
122             # character_CHECK($lucky_character);
123 0           character_CHECKTRACE( $lucky_character, '$lucky_character', 'character__typetest1()' );
124 0           return chr((ord $lucky_character) + main::RPerl__DataType__Character__MODE_ID());
125             }
126              
127             1; # end of class