AbstractScesimModel { public List<T> getUnmodifiableData() { return Collections.unmodifiableList(scesimData); }  abstract AbstractScesimModel<T> cloneModel(); abstract T addData(int index); List<T> getUnmodifiableData(); void removeDataByIndex(int index); void removeData(T toRemove); T getDataByIndex(int index); T addData(); void replaceData(int index, T newScesimData); T cloneData(int sourceIndex, int targetIndex); void clear(); void clearDatas(); void resetErrors(); ScesimModelDescriptor getScesimModelDescriptor(); void removeFactMappingByIndex(int index); void removeFactMapping(FactMapping toRemove);  }
@Test(expected = UnsupportedOperationException.class) public void getUnmodifiableData() { final List<Scenario> retrieved = abstractScesimModelSpy.getUnmodifiableData(); assertNotNull(retrieved); assertEquals(SCENARIO_DATA, retrieved.size()); retrieved.add(new Scenario()); }