I want to write a unit test that basically verifies an object I add to a foreign collection actually gets saved and retrieved correctly when the DAO saves retrieves the object
Here is my Entity.
@DatabaseTable
public class Question implements Question, Serializable {
@DatabaseField
private String questionText;
@ForeignCollectionField
private ForeignCollection<Answer> answers;
public void addAnswer(Answer answer) {
answers.add(answer);
}
What I want to do is create a Question instance add an Answer object to the collection and pass the Question to my DAO which will persist it. The persistence works fine on regular fields so I know there is no problem there.
How do I go about adding an Answer to the collection? When I create the Question it’s answers collection is null. Is it what I have to save the new Question and then retrieve it in order for the answers collection to be non null? Or, do I set the answers to a BaseCollection, LazyCollection instance?
This is a FAQ. The right way to do it is to make use of the Dao.getEmptyForeignCollection(…) method to create a collection that you can add items to. Something like: