diff --git a/.forge/BAIS-SPRING-ARC-002-attempt-1.md b/.forge/BAIS-SPRING-ARC-002-attempt-1.md new file mode 100644 index 0000000..c1fb965 --- /dev/null +++ b/.forge/BAIS-SPRING-ARC-002-attempt-1.md @@ -0,0 +1,3 @@ +# BAIS-SPRING-ARC-002-attempt-1 + +Forge 이슈 작업 브랜치 `forge/BAIS-SPRING-ARC-002-attempt-1`. diff --git a/src/main/java/com/example/lcf/LcfMappingRules.java b/src/main/java/com/example/lcf/LcfMappingRules.java new file mode 100644 index 0000000..fca8f56 --- /dev/null +++ b/src/main/java/com/example/lcf/LcfMappingRules.java @@ -0,0 +1,40 @@ +package com.example.lcf; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.transaction.annotation.Transactional; + +public class LcfMappingRules { + private static final Logger logger = LoggerFactory.getLogger(LcfMappingRules.class); + + public void lcfTry(Runnable action) { + try { + action.run(); + } catch (Exception e) { + lcfSetErr(e); + } + } + + public void lcfSetErr(Exception e) { + logger.error("Error occurred: ", e); + // 추가적인 에러 처리 로직 + } + + public void lcfLog(String message) { + logger.info(message); + } + + @Transactional + public void batchCommit(Runnable batchAction) { + try { + batchAction.run(); + } catch (Exception e) { + // 롤백 처리 + throw e; + } + } + + public double performDecimalOperation(double a, double b) { + return a + b; // 예시로 덧셈을 수행 + } +} diff --git a/src/test/java/com/example/lcf/LcfMappingRulesTest.java b/src/test/java/com/example/lcf/LcfMappingRulesTest.java new file mode 100644 index 0000000..e190e70 --- /dev/null +++ b/src/test/java/com/example/lcf/LcfMappingRulesTest.java @@ -0,0 +1,24 @@ +package com.example.lcf; + +import org.junit.jupiter.api.Test; +import static org.mockito.Mockito.*; +import static org.junit.jupiter.api.Assertions.*; + +class LcfMappingRulesTest { + @Test + void testLcfTry() { + LcfMappingRules rules = new LcfMappingRules(); + Runnable action = mock(Runnable.class); + doThrow(new RuntimeException("Test Exception")).when(action).run(); + + rules.lcfTry(action); + // 예외가 발생했는지 확인하는 로직 추가 + } + + @Test + void testPerformDecimalOperation() { + LcfMappingRules rules = new LcfMappingRules(); + double result = rules.performDecimalOperation(5.0, 3.0); + assertEquals(8.0, result); + } +}