use super::*;
use f2rust_std::*;
const MAXL: i32 = 36;
const MAXP: i32 = 150;
const NPERM: i32 = 692;
const MAXE: i32 = 853;
const NROOM: i32 = 14983;
const CTRSIZ: i32 = 2;
const NAMLEN: i32 = 32;
const LINLEN: i32 = 200;
pub fn F_ZZBDTN(OK: &mut bool, ctx: &mut Context) -> f2rust_std::Result<()> {
let mut BUFFER = ActualCharArray::new(LINLEN, 1..=4);
let mut NAME = [b' '; NAMLEN as usize];
let mut CODE: i32 = 0;
let USRCTR = StackArray::<i32, 2>::new(1..=CTRSIZ);
let mut FOUND: bool = false;
let mut UPDATE: bool = false;
testutil::TOPEN(b"F_ZZBDTN", ctx)?;
testutil::TCASE(b"ZZBODTRN - SPICE(BOGUSENTRY) exception", ctx)?;
spicelib::ZZBODTRN(&NAME, CODE, FOUND, USRCTR.as_slice(), UPDATE, ctx)?;
testutil::CHCKXC(true, b"SPICE(BOGUSENTRY)", OK, ctx)?;
testutil::TCASE(b"ZZBODRST - Coverage Test", ctx)?;
spicelib::ZZBODDEF(b"NAME", 1000, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
spicelib::ZZBODN2C(b"NAME", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 1000, 0, OK, ctx)?;
spicelib::CLPOOL(ctx)?;
spicelib::ZZBODRST(ctx)?;
spicelib::ZZBODN2C(b"NAME", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
spicelib::ZZBODC2N(1000, &mut b"NAME".clone(), &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::TCASE(b"ZZBODTRN - Check watchers are properly set", ctx)?;
spicelib::ZZBODN2C(b"EARTH", &mut CODE, &mut FOUND, ctx)?;
fstr::assign(BUFFER.get_mut(1), b"NAIF_BODY_CODE = 3000");
fstr::assign(
BUFFER.get_mut(2),
b"NAIF_BODY_NAME = \'ZZBODTRN_TEST_BODY\'",
);
spicelib::LMPOOL(BUFFER.as_arg(), 2, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
spicelib::CVPOOL(b"ZZBODTRN", &mut UPDATE, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"UPDATE", UPDATE, true, OK, ctx)?;
spicelib::CLPOOL(ctx)?;
spicelib::ZZBODRST(ctx)?;
testutil::TCASE(b"ZZBODN2C - Coverage Test - UPDATE", ctx)?;
fstr::assign(BUFFER.get_mut(1), b"NAIF_BODY_CODE = 3000");
fstr::assign(
BUFFER.get_mut(2),
b"NAIF_BODY_NAME = \'ZZBODTRN_TEST_BODY_2\'",
);
spicelib::LMPOOL(BUFFER.as_arg(), 2, ctx)?;
CODE = 0;
FOUND = true;
spicelib::ZZBODN2C(b"<UNDEFINED>", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 0, 0, OK, ctx)?;
spicelib::LMPOOL(BUFFER.as_arg(), 2, ctx)?;
spicelib::ZZBODN2C(b"ZZBODTRN_TEST_BODY_2", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 3000, 0, OK, ctx)?;
spicelib::LMPOOL(BUFFER.as_arg(), 2, ctx)?;
spicelib::ZZBODN2C(b" earth barycenter", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 3, 0, OK, ctx)?;
spicelib::CLPOOL(ctx)?;
CODE = 0;
FOUND = true;
spicelib::ZZBODN2C(b"<UNDEFINED>", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 0, 0, OK, ctx)?;
spicelib::CLPOOL(ctx)?;
CODE = 0;
FOUND = true;
spicelib::ZZBODN2C(b"ZZBODTRN_TEST_BODY_2", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 0, 0, OK, ctx)?;
spicelib::CLPOOL(ctx)?;
spicelib::ZZBODN2C(b"EARTH", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 399, 0, OK, ctx)?;
spicelib::ZZBODRST(ctx)?;
testutil::TCASE(b"ZZBODN2C - Coverage Test - no UPDATE", ctx)?;
fstr::assign(BUFFER.get_mut(1), b"NAIF_BODY_CODE = 3000");
fstr::assign(
BUFFER.get_mut(2),
b"NAIF_BODY_NAME = \'ZZBODTRN_TEST_BODY_3\'",
);
spicelib::LMPOOL(BUFFER.as_arg(), 2, ctx)?;
CODE = 0;
spicelib::ZZBODN2C(b"<UNDEFINED>", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 0, 0, OK, ctx)?;
spicelib::ZZBODN2C(b"ZZBODTRN_TEST_BODY_3", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 3000, 0, OK, ctx)?;
spicelib::ZZBODN2C(b"EARTH", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 399, 0, OK, ctx)?;
CODE = 0;
spicelib::ZZBODN2C(b"<UNDEFINED>", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 0, 0, OK, ctx)?;
spicelib::CLPOOL(ctx)?;
CODE = 0;
spicelib::ZZBODN2C(b"<UNDEFINED>", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 0, 0, OK, ctx)?;
CODE = 0;
spicelib::ZZBODN2C(b"ZZBODTRN_TEST_BODY_3", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 0, 0, OK, ctx)?;
spicelib::ZZBODN2C(b"EARTH", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 399, 0, OK, ctx)?;
CODE = 0;
spicelib::ZZBODN2C(b"<UNDEFINED>", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 0, 0, OK, ctx)?;
spicelib::ZZBODRST(ctx)?;
testutil::TCASE(b"ZZBODC2N - Coverage Test - UPDATE", ctx)?;
fstr::assign(BUFFER.get_mut(1), b"NAIF_BODY_CODE = 3000");
fstr::assign(
BUFFER.get_mut(2),
b"NAIF_BODY_NAME = \'ZZBODTRN_TEST_BODY_4\'",
);
fstr::assign(BUFFER.get_mut(3), b"NAIF_BODY_CODE += 3002");
fstr::assign(BUFFER.get_mut(4), b"NAIF_BODY_NAME += \'EARTH\'");
spicelib::LMPOOL(BUFFER.as_arg(), 4, ctx)?;
fstr::assign(&mut NAME, b"<UNCHANGED>");
FOUND = true;
spicelib::ZZBODC2N(3001, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"<UNCHANGED>", OK, ctx)?;
spicelib::LMPOOL(BUFFER.as_arg(), 4, ctx)?;
spicelib::ZZBODC2N(3000, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"ZZBODTRN_TEST_BODY_4", OK, ctx)?;
spicelib::LMPOOL(BUFFER.as_arg(), 4, ctx)?;
spicelib::ZZBODC2N(3, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"EARTH BARYCENTER", OK, ctx)?;
spicelib::LMPOOL(BUFFER.as_arg(), 4, ctx)?;
fstr::assign(&mut NAME, b"<UNCHANGED>");
spicelib::ZZBODC2N(399, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"<UNCHANGED>", OK, ctx)?;
spicelib::CLPOOL(ctx)?;
fstr::assign(&mut NAME, b"<UNCHANGED>");
FOUND = true;
spicelib::ZZBODC2N(3001, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"<UNCHANGED>", OK, ctx)?;
spicelib::CLPOOL(ctx)?;
fstr::assign(&mut NAME, b"<UNCHANGED>");
FOUND = true;
spicelib::ZZBODC2N(3000, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"<UNCHANGED>", OK, ctx)?;
spicelib::CLPOOL(ctx)?;
spicelib::ZZBODC2N(399, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"EARTH", OK, ctx)?;
spicelib::ZZBODRST(ctx)?;
testutil::TCASE(b"ZZBODC2N - Coverage Test - no UPDATE", ctx)?;
fstr::assign(BUFFER.get_mut(1), b"NAIF_BODY_CODE = 3000");
fstr::assign(
BUFFER.get_mut(2),
b"NAIF_BODY_NAME = \'ZZBODTRN_TEST_BODY_5\'",
);
fstr::assign(BUFFER.get_mut(3), b"NAIF_BODY_CODE += 3002");
fstr::assign(BUFFER.get_mut(4), b"NAIF_BODY_NAME += \'EARTH\'");
spicelib::LMPOOL(BUFFER.as_arg(), 4, ctx)?;
fstr::assign(&mut NAME, b"<UNCHANGED>");
spicelib::ZZBODC2N(3001, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"<UNCHANGED>", OK, ctx)?;
spicelib::ZZBODC2N(3000, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"ZZBODTRN_TEST_BODY_5", OK, ctx)?;
spicelib::ZZBODC2N(3, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"EARTH BARYCENTER", OK, ctx)?;
fstr::assign(&mut NAME, b"<UNCHANGED>");
spicelib::ZZBODC2N(399, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"<UNCHANGED>", OK, ctx)?;
fstr::assign(&mut NAME, b"<UNCHANGED>");
spicelib::ZZBODC2N(3001, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"<UNCHANGED>", OK, ctx)?;
spicelib::CLPOOL(ctx)?;
fstr::assign(&mut NAME, b"<UNCHANGED>");
spicelib::ZZBODC2N(3001, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"<UNCHANGED>", OK, ctx)?;
fstr::assign(&mut NAME, b"<UNCHANGED>");
spicelib::ZZBODC2N(3000, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"<UNCHANGED>", OK, ctx)?;
fstr::assign(&mut NAME, b"<UNCHANGED>");
spicelib::ZZBODC2N(3002, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"<UNCHANGED>", OK, ctx)?;
spicelib::ZZBODC2N(399, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"EARTH", OK, ctx)?;
spicelib::ZZBODC2N(3, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"EARTH BARYCENTER", OK, ctx)?;
fstr::assign(&mut NAME, b"<UNCHANGED>");
spicelib::ZZBODC2N(3001, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"<UNCHANGED>", OK, ctx)?;
spicelib::ZZBODRST(ctx)?;
testutil::TCASE(b"ZZBODDEF - Exception SPICE(BLANKNAMEASSIGNED)", ctx)?;
spicelib::ZZBODDEF(b" ", 1000, ctx)?;
testutil::CHCKXC(true, b"SPICE(BLANKNAMEASSIGNED)", OK, ctx)?;
spicelib::ZZBODN2C(b" ", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
spicelib::ZZBODC2N(1000, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, false, OK, ctx)?;
spicelib::ZZBODRST(ctx)?;
testutil::TCASE(b"ZZBODDEF - Coverage Tests - Name Replace Case", ctx)?;
spicelib::ZZBODDEF(b"eArTh", 399, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
spicelib::ZZBODC2N(399, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"eArTh", OK, ctx)?;
spicelib::ZZBODN2C(b"eArTh", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 399, 0, OK, ctx)?;
spicelib::CLPOOL(ctx)?;
spicelib::ZZBODRST(ctx)?;
testutil::TCASE(b"ZZBODDEF - Coverage Tests - Name Replace Sort", ctx)?;
spicelib::ZZBODDEF(b"EaRtH", 1000, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
spicelib::ZZBODC2N(1000, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"EaRtH", OK, ctx)?;
spicelib::ZZBODN2C(b"EaRtH", &mut CODE, OK, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 1000, 0, OK, ctx)?;
spicelib::CLPOOL(ctx)?;
spicelib::ZZBODRST(ctx)?;
testutil::TCASE(b"ZZBODDEF - Coverage Tests - Append New", ctx)?;
spicelib::ZZBODDEF(b"SPUDSpam", 1000, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
spicelib::ZZBODC2N(1000, &mut NAME, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSC(b"NAME", &NAME, b"=", b"SPUDSpam", OK, ctx)?;
spicelib::ZZBODN2C(b"spudspam", &mut CODE, &mut FOUND, ctx)?;
testutil::CHCKXC(false, b" ", OK, ctx)?;
testutil::CHCKSL(b"FOUND", FOUND, true, OK, ctx)?;
testutil::CHCKSI(b"CODE", CODE, b"=", 1000, 0, OK, ctx)?;
spicelib::CLPOOL(ctx)?;
spicelib::ZZBODRST(ctx)?;
testutil::T_SUCCESS(OK, ctx);
Ok(())
}