@Test public void setNumber() { float targetVal = 0.5f; String name = "test"; ssclib.ssc_data_set_number(data, name, targetVal); FloatByReference out = new FloatByReference(); boolean status = ssclib.ssc_data_get_number(data, name, out); assertThat(status).isTrue(); assertThat(out.getValue()).isWithin(EPSILON).of(targetVal); }
/** * Private helper to make sure that the data created by the simulation was set as expected. * Assumes that we used the "layoutarea" module */ private static void checkSimulationData(Ssc ssclib, Pointer data) { FloatByReference val = new FloatByReference(); boolean status = ssclib.ssc_data_get_number(data, "area", val); assertThat(status).isTrue(); assertThat(val.getValue()).isAtLeast(0f); IntByReference rows = new IntByReference(); IntByReference cols = new IntByReference(); Pointer mtx = ssclib.ssc_data_get_matrix(data, "convex_hull", rows, cols); assertThat(mtx).isNotNull(); assertThat(rows.getValue()).isGreaterThan(0); assertThat(cols.getValue()).isGreaterThan(0); }
@Test public void testModuleLog() { Pointer module = ssclib.ssc_module_create("layoutarea"); boolean result = ssclib.ssc_module_exec(module, data); assertThat(result).isFalse(); int i = 0; IntByReference itemType = new IntByReference(); FloatByReference time = new FloatByReference(); String logMsg = ssclib.ssc_module_log(module, i, itemType, time); do { assertThat(logMsg).isNotNull(); assertThat(itemType.getValue()).isGreaterThan(0); assertThat(time.getValue()).isNotWithin(EPSILON).of(0f); i++; logMsg = ssclib.ssc_module_log(module, i, itemType, time); } while (logMsg != null); }