### Question:
ReflectionUtil { public static List<Field> getTableFields(Class table) { List<Field> fieldList = SugarConfig.getFields(table); if (fieldList != null) return fieldList; if (ManifestHelper.isDebugEnabled()) { Log.d("Sugar", "Fetching properties"); } List<Field> typeFields = new ArrayList<>(); getAllFields(typeFields, table); List<Field> toStore = new ArrayList<>(); for (Field field : typeFields) { if (!field.isAnnotationPresent(Ignore.class) && !Modifier.isStatic(field.getModifiers()) && !Modifier.isTransient(field.getModifiers())) { toStore.add(field); } } SugarConfig.setFields(table, toStore); return toStore; } private  ReflectionUtil(); static List<Field> getTableFields(Class table); static void addFieldValueToColumn(ContentValues values, Field column, Object object,
                                             Map<Object, Long> entitiesMap); static void setFieldValueFromCursor(Cursor cursor, Field field, Object object); static void setFieldValueForId(Object object, Long value); static List<Class> getDomainClasses();  }### Answer:
@Test public void testGetTableFields() { List<Field> fieldList = ReflectionUtil.getTableFields(TestRecord.class); List<String> strings = new ArrayList<>(); for (Field field: fieldList) { strings.add(field.getName()); } Assert.assertEquals(true, strings.contains("id")); Assert.assertEquals(true, strings.contains("name")); }