//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void testInitFailsShutdownFails() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: internal virtual void TestInitFailsShutdownFails() { LifeSupport lifeSupport = NewLifeSupport(); Lifecycle lifecycle1 = mock(typeof(Lifecycle)); Lifecycle lifecycle2 = mock(typeof(Lifecycle)); Exception initRuntimeException = new Exception(); Exception shutdownRuntimeException = new Exception(); doThrow(initRuntimeException).when(lifecycle2).init(); doThrow(shutdownRuntimeException).when(lifecycle1).shutdown(); lifeSupport.Add(lifecycle1); lifeSupport.Add(lifecycle2); try { lifeSupport.Init(); fail("Expected exception"); } catch (LifecycleException e) { assertEquals(initRuntimeException, e.InnerException); assertEquals(1, e.Suppressed.length); assertEquals(shutdownRuntimeException, e.Suppressed[0].Cause); assertThat(e.Suppressed[0], instanceOf(typeof(LifecycleException))); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void testFailingInit() internal virtual void TestFailingInit() { LifeSupport lifeSupport = NewLifeSupport(); LifecycleMock instance1 = new LifecycleMock(null, null, null, null); lifeSupport.Add(instance1); Exception initThrowable = new Exception(); LifecycleMock instance2 = new LifecycleMock(initThrowable, null, null, null); lifeSupport.Add(instance2); LifecycleMock instance3 = new LifecycleMock(null, null, null, null); lifeSupport.Add(instance3); try { lifeSupport.Init(); fail("Failure was expected"); } catch (LifecycleException throwable) { assertEquals(initThrowable, throwable.InnerException); } assertEquals(LifecycleStatus.Shutdown, lifeSupport.Status); assertEquals(LifecycleStatus.Shutdown, instance1.Status); assertEquals(LifecycleStatus.Shutdown, instance2.Status); assertEquals(LifecycleStatus.None, instance3.Status); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void testAddInstanceWhenInitInitsInstance() throws LifecycleException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: internal virtual void TestAddInstanceWhenInitInitsInstance() { LifeSupport support = NewLifeSupport(); support.Init(); LifecycleMock instance1 = new LifecycleMock(null, null, null, null); support.Add(instance1); assertEquals(LifecycleStatus.Stopped, instance1.Status); assertEquals(LifecycleStatus.None, instance1.Transitions[0]); assertEquals(2, instance1.Transitions.Count); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void testAddInstanceWhenShutdownDoesNotAffectInstance() throws LifecycleException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: internal virtual void TestAddInstanceWhenShutdownDoesNotAffectInstance() { LifeSupport support = NewLifeSupport(); support.Init(); support.Start(); support.Stop(); support.Shutdown(); LifecycleMock instance1 = new LifecycleMock(null, null, null, null); support.Add(instance1); assertEquals(LifecycleStatus.None, instance1.Status); assertEquals(1, instance1.Transitions.Count); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void testOkLifecycle() throws LifecycleException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: internal virtual void TestOkLifecycle() { LifeSupport lifeSupport = NewLifeSupport(); LifecycleMock instance1 = new LifecycleMock(null, null, null, null); lifeSupport.Add(instance1); LifecycleMock instance2 = new LifecycleMock(null, null, null, null); lifeSupport.Add(instance2); LifecycleMock instance3 = new LifecycleMock(null, null, null, null); lifeSupport.Add(instance3); lifeSupport.Init(); assertEquals(LifecycleStatus.Stopped, lifeSupport.Status); assertEquals(LifecycleStatus.Stopped, instance1.Status); assertEquals(LifecycleStatus.Stopped, instance2.Status); assertEquals(LifecycleStatus.Stopped, instance3.Status); lifeSupport.Start(); assertEquals(LifecycleStatus.Started, lifeSupport.Status); assertEquals(LifecycleStatus.Started, instance1.Status); assertEquals(LifecycleStatus.Started, instance2.Status); assertEquals(LifecycleStatus.Started, instance3.Status); lifeSupport.Stop(); assertEquals(LifecycleStatus.Stopped, lifeSupport.Status); assertEquals(LifecycleStatus.Stopped, instance1.Status); assertEquals(LifecycleStatus.Stopped, instance2.Status); assertEquals(LifecycleStatus.Stopped, instance3.Status); lifeSupport.Start(); assertEquals(LifecycleStatus.Started, lifeSupport.Status); assertEquals(LifecycleStatus.Started, instance1.Status); assertEquals(LifecycleStatus.Started, instance2.Status); assertEquals(LifecycleStatus.Started, instance3.Status); lifeSupport.Shutdown(); assertEquals(LifecycleStatus.Shutdown, lifeSupport.Status); assertEquals(LifecycleStatus.Shutdown, instance1.Status); assertEquals(LifecycleStatus.Shutdown, instance2.Status); assertEquals(LifecycleStatus.Shutdown, instance3.Status); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void testInitFailsShutdownWorks() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: internal virtual void TestInitFailsShutdownWorks() { //given LifeSupport lifeSupport = NewLifeSupport(); Lifecycle lifecycle = mock(typeof(Lifecycle)); Exception runtimeException = new Exception(); //when doThrow(runtimeException).when(lifecycle).init(); lifeSupport.Add(lifecycle); try { lifeSupport.Init(); fail("Expected exception"); } catch (LifecycleException e) { assertEquals(runtimeException, e.InnerException); assertEquals(0, e.Suppressed.length); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void tryToShutdownComponentOnInitFailure() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: internal virtual void TryToShutdownComponentOnInitFailure() { LifeSupport lifeSupport = NewLifeSupport(); Lifecycle component = mock(typeof(Lifecycle)); doThrow(new Exception("Init exceptions")).when(component).init(); doThrow(new Exception("Shutdown exceptions")).when(component).shutdown(); lifeSupport.Add(component); try { lifeSupport.Init(); fail("Failure was expected"); } catch (Exception e) { string message = GetExceptionStackTrace(e); assertThat(message, containsString("Exception during graceful attempt to shutdown partially initialized component. " + "Please use non suppressed exception to see original component failure.")); } assertEquals(LifecycleStatus.Shutdown, lifeSupport.Status); verify(component).shutdown(); }