///|
fn main {
let gga = @nmea.parse_gga(
@nmea.parse_frame(
"$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47\r\n",
).unwrap(),
).unwrap()
let rmc = @nmea.parse_rmc(
@nmea.parse_frame(
"$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A\r\n",
).unwrap(),
).unwrap()
let fusion = @nmea.FixFusion::new()
fusion.add_gga(gga, record_index=0, date=Some(rmc.date()))
fusion.add_rmc(rmc, record_index=1)
let fix = fusion.finish()[0]
guard fix.usable() && @nmea.validate_fused_fix_integrity(fix).length() == 0 else {
abort("fused fix is not usable and consistent")
}
println(
"usable=true sources=" + fix.source_record_indexes().length().to_string(),
)
}