void checkUnregister() { if (!toUnregister.isEmpty()) { for (final Object o : toUnregister) { modelManager.unregister(o); } toUnregister.clear(); } }
/** * Tests that unregistering an object with a type for which no model is * responsible yields an exception. */ @Test(expected = IllegalArgumentException.class) public void unregisterFail() { emptyManager.unregister(new Object()); }
/** * Tests that unregistering a model is not possible. */ @Test(expected = IllegalArgumentException.class) public void unregisterFailModel() { emptyManager.unregister(RoadModelBuilders.staticGraph( new MultimapGraph<LengthData>()).build(mock(DependencyProvider.class))); }
mm.unregister(o); } catch (final IllegalArgumentException e) { fail = true; mm.unregister(o); } catch (final IllegalArgumentException e) { fail = true;
/** * Tests that unregistering an not registered object fails. */ @Test public void unregisterFailNotRegisteredObject() { final ModelManager mm = new ModelManager( ImmutableSet.of( RoadModelBuilders.staticGraph(new MultimapGraph<LengthData>()) .build(mock(DependencyProvider.class)), RoadModelBuilders.staticGraph(new MultimapGraph<LengthData>()) .build(mock(DependencyProvider.class)))); boolean fail = false; try { mm.unregister(new RoadUser() { @Override public void initRoadUser(RoadModel model) {} }); } catch (final IllegalArgumentException e) { fail = true; } assertTrue(fail); }
/** * Tests that an exception thrown by a model during unregister bubbles up. */ @Test public void unregisterWithBrokenModel() { final ModelManager mm = new ModelManager( ImmutableSet.of(RoadModelBuilders.staticGraph( new MultimapGraph<LengthData>()) .build(mock(DependencyProvider.class)), new BrokenRoadModel(new MultimapGraph<LengthData>()))); boolean fail = false; try { mm.unregister(new RoadUser() { @Override public void initRoadUser(RoadModel model) {} }); } catch (final RuntimeException e) { fail = true; } assertThat(fail).isTrue(); }
mm.unregister(a4); assertEquals(asList(a4), mA.getUnregisteredElements()); assertEquals(asList(a4), mAA.getUnregisteredElements()); fail = false; try { mm.unregister(a4); } catch (final IllegalArgumentException e) { fail = true; assertEquals(asList(a4, a4), mAA.getUnregisteredElements()); mm.unregister(b1); assertEquals(asList(b1), mB.getUnregisteredElements()); assertEquals(asList(b1), mB2.getUnregisteredElements()); assertEquals(asList(), mSB.getUnregisteredElements()); mm.unregister(s1); assertEquals(asList(b1, s1), mB.getUnregisteredElements()); assertEquals(asList(b1, s1), mB2.getUnregisteredElements());
/** * Tests for unregistering a previously registered object. */ @Test @Ignore public void unregisterRegistered() { final OtherFooModel model = new OtherFooModel(); final BarModel model2 = new BarModel(); emptyManager.register(model); emptyManager.register(model2); final Foo foo = new Foo(); final Bar bar = new Bar(); emptyManager.register(foo); emptyManager.register(bar); emptyManager.unregister(foo); assertEquals(1, model.calledRegister); assertEquals(1, model2.calledRegister); assertEquals(1, model.callUnregister); }