に追加するとき、私は私が返されObservableListがあるかどうかを確認私のユニットテストではObservableArrayListJavaが更新されないObservableArrayListたSortedSet
public class MyListImpl
{
SortedSet<Foto> fotos;
ObservableList<Foto> observableFotos;
public VerzamelingLijst() {
fotos = new TreeSet<>();
observableFotos = FXCollections.observableArrayList(fotos);
}
@Override
public boolean add(Foto object) {
try {
return fotos.add(object);
} catch (NullPointerException e) {
return false;
}
}
@Override
public ObservableList<Foto> getReadOnlyList() {
return observableFotos;
}
}
にパラメータとして使用されたSortedSetを持っている、との項目が追加されている場合add()メソッドを使用する場合。私はこの試験方法を実行すると
@Test
public void testGetReadOnlyList() {
ObservableList<Foto> result = instance.getReadOnlyList();
assertThat(result, instanceOf(ObservableList.class));
instance.add(foto1);
assertFalse(result.isEmpty());
}
foto1がObservableListに追加されていないので、assertFalseが失敗したが、私は最初foto1を追加し、ObservableListを得るとき、assertFalseが成功します。
ObservableListの内容は、パラメータとして渡されたコンテナにオブジェクトが追加されたときに更新されると私は想定しています。
ここでは何が起こっているのですか?
observableFotosにリスナーを登録すると、observableFotosに対して何か操作を行うと、リスナーが通知されます。 – Buhb