void
test_IfTable_get_ifOutQLen(void) {
  netsnmp_variable_list data = {0};
  void *lctx = NULL;
  void *dctx1 = NULL;
  void *dctx2 = NULL;
  void *dctx3 = NULL;
  size_t ret_len;

  uint32_t *ret_val;

  data.type = ASN_INTEGER;

  ifTable_get_first_data_point(&lctx, &dctx1, &data, NULL);
  ifTable_get_next_data_point(&lctx, &dctx2, &data, NULL);
  ifTable_data_free(dctx2, NULL);
  ifTable_get_next_data_point(&lctx, &dctx3, &data, NULL);
  TEST_ASSERT_NULL(dctx3);
  ifTable_loop_free(lctx, NULL);
  ret_val = get_ifOutQLen(dctx1, &ret_len);
  TEST_ASSERT_NULL(ret_val);
  ifTable_data_free(dctx1, NULL);
  ifTable_get_first_data_point(&lctx, &dctx1, &data, NULL);
  ifTable_data_free(dctx1, NULL);
  ifTable_get_next_data_point(&lctx, &dctx2, &data, NULL);
  ifTable_get_next_data_point(&lctx, &dctx3, &data, NULL);
  TEST_ASSERT_NULL(dctx3);
  ifTable_loop_free(lctx, NULL);
  ret_val = get_ifOutQLen(dctx2, &ret_len);
  TEST_ASSERT_NULL(ret_val);
  ifTable_data_free(dctx2, NULL);
}
void
test_IfTable_get_ifPhysAddress(void) {
  /* TODO */

  netsnmp_variable_list data = {0};
  void *lctx = NULL;
  void *dctx1 = NULL;
  void *dctx2 = NULL;
  void *dctx3 = NULL;
  size_t ret_len;

  char *ret_val;

  const uint8_t value1[] = VALUE_ifPhysAddress_1;
  const uint8_t value2[] = VALUE_ifPhysAddress_2;

  data.type = ASN_INTEGER;

  ifTable_get_first_data_point(&lctx, &dctx1, &data, NULL);
  ifTable_get_next_data_point(&lctx, &dctx2, &data, NULL);
  ifTable_data_free(dctx2, NULL);
  ifTable_get_next_data_point(&lctx, &dctx3, &data, NULL);
  TEST_ASSERT_NULL(dctx3);
  ifTable_loop_free(lctx, NULL);
  ret_val = get_ifPhysAddress(dctx1, &ret_len);
  TEST_ASSERT_NOT_NULL(ret_val);
  TEST_ASSERT_EQUAL_UINT64(sizeof(value1), ret_len);
  TEST_ASSERT_EQUAL_UINT8_ARRAY(value1, (uint8_t *)ret_val, sizeof(value1));
  ifTable_data_free(dctx1, NULL);
  ifTable_get_first_data_point(&lctx, &dctx1, &data, NULL);
  ifTable_data_free(dctx1, NULL);
  ifTable_get_next_data_point(&lctx, &dctx2, &data, NULL);
  ifTable_get_next_data_point(&lctx, &dctx3, &data, NULL);
  TEST_ASSERT_NULL(dctx3);
  ifTable_loop_free(lctx, NULL);
  ret_val = get_ifPhysAddress(dctx2, &ret_len);
  TEST_ASSERT_NOT_NULL(ret_val);
  TEST_ASSERT_EQUAL_UINT64(sizeof(value2), ret_len);
  TEST_ASSERT_EQUAL_UINT8_ARRAY(value2, (uint8_t *)ret_val, sizeof(value2));
  ifTable_data_free(dctx2, NULL);
}
void
test_IfTable_get_ifOperStatus(void) {
  netsnmp_variable_list data = {0};
  void *lctx = NULL;
  void *dctx1 = NULL;
  void *dctx2 = NULL;
  void *dctx3 = NULL;
  size_t ret_len;

  int32_t *ret_val;

  data.type = ASN_INTEGER;

  ifTable_get_first_data_point(&lctx, &dctx1, &data, NULL);
  ifTable_get_next_data_point(&lctx, &dctx2, &data, NULL);
  ifTable_data_free(dctx2, NULL);
  ifTable_get_next_data_point(&lctx, &dctx3, &data, NULL);
  TEST_ASSERT_NULL(dctx3);
  ifTable_loop_free(lctx, NULL);
  ret_val = get_ifOperStatus(dctx1, &ret_len);
  TEST_ASSERT_NOT_NULL(ret_val);
  TEST_ASSERT_EQUAL_INT32(VALUE_ifOperStatus_1, *ret_val);
  TEST_ASSERT_EQUAL_UINT64(sizeof(*ret_val), ret_len);
  ifTable_data_free(dctx1, NULL);
  ifTable_get_first_data_point(&lctx, &dctx1, &data, NULL);
  ifTable_data_free(dctx1, NULL);
  ifTable_get_next_data_point(&lctx, &dctx2, &data, NULL);
  ifTable_get_next_data_point(&lctx, &dctx3, &data, NULL);
  TEST_ASSERT_NULL(dctx3);
  ifTable_loop_free(lctx, NULL);
  ret_val = get_ifOperStatus(dctx2, &ret_len);
  TEST_ASSERT_NOT_NULL(ret_val);
  TEST_ASSERT_EQUAL_INT32(VALUE_ifOperStatus_2, *ret_val);
  TEST_ASSERT_EQUAL_UINT64(sizeof(*ret_val), ret_len);
  ifTable_data_free(dctx2, NULL);
}