BAEL-7002 - Drawbacks of Singleton Pattern (#14979)

* BAEL-7002 - Drawbacks of Singleton Pattern

* Add mockito-inline dependency
This commit is contained in:
Ana Peterlić
2023-10-18 14:51:58 +02:00
committed by GitHub
parent 140974c9bf
commit 73e58da770
4 changed files with 94 additions and 0 deletions
@@ -0,0 +1,35 @@
package com.baeldung.singleton;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.mockito.MockedStatic;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.mockStatic;
class SingletonUnitTest {
@Test
void givenTwoValues_whenSum_thenReturnCorrectResult() {
SingletonDemo singletonDemo = new SingletonDemo();
int result = singletonDemo.sum(12, 4);
Assertions.assertEquals(16, result);
}
@Test
void givenMockedLogger_whenSum_thenReturnCorrectResult() {
Logger logger = mock(Logger.class);
try (MockedStatic<Logger> loggerMockedStatic = mockStatic(Logger.class)) {
loggerMockedStatic.when(Logger::getInstance).thenReturn(logger);
doNothing().when(logger).log(any());
SingletonDemo singletonDemo = new SingletonDemo();
int result = singletonDemo.sum(12, 4);
Assertions.assertEquals(16, result);
}
}
}