WestRidgeSystems / jmisb

jMISB is an open source Java library implementing various MISB standards.
MIT License
41 stars 12 forks source link

st1303: implement additional encode and decode #391

Closed bradh closed 2 years ago

bradh commented 2 years ago

Motivation and Context

Adds implementations for ST 1303 Multi Dimensional Array Pack that we don't yet support.

The decoding is important for interoperability in case someone decides to use that. The Boolean 1D stuff is just for completeness (and is probably not useful).

Resolves #198 (which I've dropped RLE encoding - as opposed to decoding - support out of - its difficult to do in general, and probably requires domain-specific knowledge of the nature of the data being encoded to be really efficient).

Description

Adds implementations consistent with existing code. Updated documentation and tests.

How Has This Been Tested?

Unit tests only. The test cases from ST 1303.2 are now used.

Screenshots (if appropriate):

N/A.

Types of changes

Checklist:

codecov-commenter commented 2 years ago

Codecov Report

Merging #391 (76f6ea1) into 2.x (e1cd91b) will increase coverage by 0.13%. The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                2.x     #391      +/-   ##
============================================
+ Coverage     90.91%   91.04%   +0.13%     
- Complexity     5580     5644      +64     
============================================
  Files           613      613              
  Lines         14731    14956     +225     
  Branches       1357     1394      +37     
============================================
+ Hits          13392    13617     +225     
  Misses         1291     1291              
  Partials         48       48              
Flag Coverage Δ
unittests-api 98.88% <100.00%> (+0.01%) :arrow_up:
unittests-api-ffmpeg 15.78% <ø> (ø)
unittests-awt 100.00% <ø> (ø)
unittests-core 98.49% <ø> (ø)
unittests-geoid 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
.../org/jmisb/api/klv/st1303/BooleanArrayEncoder.java 100.00% <100.00%> (ø)
...ain/java/org/jmisb/api/klv/st1303/MDAPDecoder.java 100.00% <100.00%> (ø)
...org/jmisb/api/klv/st1303/NaturalFormatEncoder.java 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update e1cd91b...76f6ea1. Read the comment docs.