File Coverage

blib/lib/BACnet/DataTypes/Null.pm
Criterion Covered Total %
statement 27 29 93.1
branch 1 2 50.0
condition n/a
subroutine 8 8 100.0
pod 0 3 0.0
total 36 42 85.7


line stmt bran cond sub pod time code
1             #!/usr/bin/perl
2              
3             package BACnet::DataTypes::Null;
4              
5 27     27   168 use warnings;
  27         55  
  27         1713  
6 27     27   134 use strict;
  27         41  
  27         1215  
7              
8 27     27   135 use BACnet::DataTypes::Utils;
  27         133  
  27         834  
9              
10 27     27   379 use parent 'BACnet::DataTypes::DataType';
  27         186  
  27         221  
11              
12 27     27   1858 use constant { LENGTH => 0x00 };
  27         65  
  27         8522  
13              
14             sub construct {
15 2     2 0 248390 my ( $class, $modified_tag ) = @_;
16              
17 2         7 my $self = { data => '' };
18              
19             # Context Tag doc. page 378
20              
21 2         6 my $tag = (BACnet::DataTypes::Utils::NULL_TAG);
22              
23 2         12 $self->{data} .= BACnet::DataTypes::Utils::_construct_head(
24             BACnet::DataTypes::Utils::NULL_TAG,
25             $modified_tag, LENGTH );
26              
27 2         8 return bless $self, $class;
28             }
29              
30             sub parse {
31 2     2 0 6 my ( $class, $data_in ) = @_;
32              
33 2         7 my $self = bless { data => $data_in, }, $class;
34              
35 2         10 my $headache = BACnet::DataTypes::Utils::_correct_head(
36             data_in => $data_in,
37             expected_tag => BACnet::DataTypes::Utils::NULL_TAG,
38             expected_length => LENGTH,
39             );
40              
41 2 50       7 if ( $headache ne "" ) {
42 0         0 $self->{error} = "Null: $headache";
43 0         0 return $self;
44             }
45              
46 2         7 return $self;
47             }
48              
49             sub val {
50 4     4 0 1184 my ($self) = @_;
51              
52 4         13 return 0; #Null returns 0 to ensure consistence among datatype methods
53             }
54              
55             1;