public void NativeTestsDBG(TestInput input) { float plb_med__db = 0; float plb_pts__db = 0; // positive two sigmas loss float plb_nts__db = 0; // negative two sigmas loss float median = 0.5f; float pts = 0.977f; // positive two sigmas float nts = 0.032f; // nagative two sigmas InterValues intervalues = new InterValues(); float[] pfl = input.pfl.ToArray(); EHATA_DBG(pfl, input.f__mhz, input.h_b__meter, input.h_m__meter, input.enviro_code, median, ref plb_med__db, ref intervalues); Assert.Equal(input.expected_plb, plb_med__db, PRECISION); // These following two tests are simply basic sanity checks - not validation against any numerical results EHATA(pfl, input.f__mhz, input.h_b__meter, input.h_m__meter, input.enviro_code, pts, ref plb_pts__db); Assert.True(plb_pts__db > plb_med__db); EHATA(pfl, input.f__mhz, input.h_b__meter, input.h_m__meter, input.enviro_code, nts, ref plb_nts__db); Assert.True(plb_nts__db < plb_med__db); }
private static extern void EHATA_DBG(float[] pfl, float f__mhz, float h_b__meter, float h_m__meter, int enviro_code, float reliability, ref float plb, ref InterValues intervalues);