@Test
public void shouldReturnMatchedChildRecordsBasedOnHighlightedFields() throws JSONException, IOException {

    Child child1 = new Child("id1", "user1", "{ 'name' : 'child1', 'test2' : 0, 'test3' : [ '1', 2, '3' ] }");
    Child child2 = new Child("id2", "user2", "{ 'name' : 'child2', 'test2' : 0, 'test3' : [ '1', 2, '3' ] }");
    Child child3 = new Child("id3", "user3", "{ 'name' : 'child3', 'test2' :  'child1', 'test3' : [ '1', 2, '3' ], \"x\": \"y\" }");
    Child child4 = new Child("child1", "user4", "{ 'name' : 'child4', 'test2' :  'test2', 'test3' : [ '1', 2, '3' ] }");
    Child child5 = new Child("child2", "user5", "{ 'name' : 'child4 developer', 'test2' :  'test2', 'test3' : [ '1', 2, '3' ] }");
    repository.createOrUpdate(child1);
    repository.createOrUpdate(child2);
    repository.createOrUpdate(child3);
    repository.createOrUpdate(child4);
    repository.createOrUpdate(child5);
    childSearch = new ChildSearch("child3", repository, highlightedFormFields);
    assertEquals(1, childSearch.getRecordsForFirstPage().size());
    childSearch = new ChildSearch("hiLd", repository, highlightedFormFields);
    assertEquals(5, childSearch.getRecordsForFirstPage().size());
    childSearch = new ChildSearch("hiLd1", repository, highlightedFormFields);
    assertEquals(2, childSearch.getRecordsForFirstPage().size());
    childSearch = new ChildSearch("developer", repository, highlightedFormFields);
    assertEquals(1, childSearch.getRecordsForFirstPage().size());
}