@Test
public void testMapGetThrows() {

    Observable<Integer> source1 = Observable.from(1, 2, 3);
    Observable<Integer> source2 = Observable.from(4, 5, 6);
    Map<Integer, Observable<Integer>> map = new HashMap<Integer, Observable<Integer>>() {
        @Override
        public Observable<Integer> get(Object key) {
            if (key.equals(2)) {
                throw new RuntimeException("Forced failure!");
            }
            return super.get(key);
        }
    };
    map.put(1, source1);
    map.put(2, source2);
    Observable<Integer> result = Statement.switchCase(func, map);
    observe(result, 1, 2, 3);
    observeError(result, RuntimeException.class);
}