|
|
|
|
@ -1,4 +1,4 @@
|
|
|
|
|
use super::encoder::{Rule, Rules}; |
|
|
|
|
use super::decoder::{Rule, Rules}; |
|
|
|
|
|
|
|
|
|
pub fn get_rules() -> Rules { |
|
|
|
|
vec![ |
|
|
|
|
@ -133,90 +133,90 @@ pub fn get_rules() -> Rules {
|
|
|
|
|
#[cfg(test)] |
|
|
|
|
mod tests { |
|
|
|
|
use super::*; |
|
|
|
|
use crate::SystemEncoder; |
|
|
|
|
use crate::core::sys_major::Encoder; |
|
|
|
|
use crate::SystemDecoder; |
|
|
|
|
use crate::core::sys_major::Decoder; |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_0_1() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("SZSCZ"); |
|
|
|
|
fn test_major_dict_pl_decode_0_1() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("SZSCZ"); |
|
|
|
|
assert_eq!(output, "0") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_0_2() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("SZSICZ"); |
|
|
|
|
fn test_major_dict_pl_decode_0_2() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("SZSICZ"); |
|
|
|
|
assert_eq!(output, "") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_0_3() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("SZCZRZZCZDZSZ"); |
|
|
|
|
fn test_major_dict_pl_decode_0_3() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("SZCZRZZCZDZSZ"); |
|
|
|
|
assert_eq!(output, "0") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_0_4() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("SZCZRZZICZDZSZ"); |
|
|
|
|
fn test_major_dict_pl_decode_0_4() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("SZCZRZZICZDZSZ"); |
|
|
|
|
assert_eq!(output, "") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_1_1() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("SZTCZ"); |
|
|
|
|
fn test_major_dict_pl_decode_1_1() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("SZTCZ"); |
|
|
|
|
assert_eq!(output, "1") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_1_2() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("DZDŻDŹDDZDŻDŹ"); |
|
|
|
|
fn test_major_dict_pl_decode_1_2() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("DZDŻDŹDDZDŻDŹ"); |
|
|
|
|
assert_eq!(output, "1") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_1_3() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("DZDŻDŹDZDZDŻDŹ"); |
|
|
|
|
fn test_major_dict_pl_decode_1_3() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("DZDŻDŹDZDZDŻDŹ"); |
|
|
|
|
assert_eq!(output, "") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_2_1() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("NINNI"); |
|
|
|
|
fn test_major_dict_pl_decode_2_1() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("NINNI"); |
|
|
|
|
assert_eq!(output, "2") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_2_2() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("NININI"); |
|
|
|
|
fn test_major_dict_pl_decode_2_2() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("NININI"); |
|
|
|
|
assert_eq!(output, "") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_4_1() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("RZRRZ"); |
|
|
|
|
fn test_major_dict_pl_decode_4_1() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("RZRRZ"); |
|
|
|
|
assert_eq!(output, "4") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_4_2() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("RZRZRZ"); |
|
|
|
|
fn test_major_dict_pl_decode_4_2() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("RZRZRZ"); |
|
|
|
|
assert_eq!(output, "") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#[test] |
|
|
|
|
fn test_major_dict_pl_encode_full_1() { |
|
|
|
|
let encoder = Encoder::new(get_rules()); |
|
|
|
|
let output = encoder.encode("ATADANAMARALAJAKAGAFAWAPABA"); |
|
|
|
|
fn test_major_dict_pl_decode_full_1() { |
|
|
|
|
let decoder = Decoder::new(get_rules()); |
|
|
|
|
let output = decoder.decode("ATADANAMARALAJAKAGAFAWAPABA"); |
|
|
|
|
assert_eq!(output, "1123456778899") |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|