This commit is contained in:
parent
f2cc439327
commit
903a0a4c0e
1 changed files with 161 additions and 0 deletions
|
|
@ -0,0 +1,161 @@
|
|||
package com.klaro.acquirecore.framework.util;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class FrameworkUtilTest {
|
||||
|
||||
// DateUtil Tests
|
||||
@Test
|
||||
void dateUtil_parse_ValidDate() {
|
||||
LocalDate result = DateUtil.parse("2024-01-15");
|
||||
assertNotNull(result);
|
||||
assertEquals(2024, result.getYear());
|
||||
assertEquals(1, result.getMonthValue());
|
||||
assertEquals(15, result.getDayOfMonth());
|
||||
}
|
||||
|
||||
@Test
|
||||
void dateUtil_parse_InvalidDate() {
|
||||
assertNull(DateUtil.parse("invalid"));
|
||||
assertNull(DateUtil.parse(null));
|
||||
assertNull(DateUtil.parse(""));
|
||||
}
|
||||
|
||||
@Test
|
||||
void dateUtil_format() {
|
||||
assertEquals("2024-03-20", DateUtil.format(LocalDate.of(2024, 3, 20)));
|
||||
assertEquals("", DateUtil.format((LocalDate) null));
|
||||
}
|
||||
|
||||
@Test
|
||||
void dateUtil_diffDays() {
|
||||
assertEquals(10, DateUtil.diffDays(LocalDate.of(2024, 1, 1), LocalDate.of(2024, 1, 11)));
|
||||
assertEquals(-5, DateUtil.diffDays(LocalDate.of(2024, 1, 15), LocalDate.of(2024, 1, 10)));
|
||||
assertEquals(0, DateUtil.diffDays(null, LocalDate.now()));
|
||||
}
|
||||
|
||||
@Test
|
||||
void dateUtil_addDays() {
|
||||
assertEquals(LocalDate.of(2024, 1, 20), DateUtil.addDays(LocalDate.of(2024, 1, 15), 5));
|
||||
assertEquals(LocalDate.of(2024, 1, 5), DateUtil.addDays(LocalDate.of(2024, 1, 15), -10));
|
||||
assertNull(DateUtil.addDays(null, 5));
|
||||
}
|
||||
|
||||
@Test
|
||||
void dateUtil_today() {
|
||||
assertEquals(LocalDate.now(), DateUtil.today());
|
||||
}
|
||||
|
||||
// AmountUtil Tests
|
||||
@Test
|
||||
void amountUtil_parse_ValidAmount() {
|
||||
assertEquals(new BigDecimal("1000.00"), AmountUtil.parse("1000"));
|
||||
assertEquals(new BigDecimal("1000.50"), AmountUtil.parse("1000.50"));
|
||||
assertEquals(new BigDecimal("-500.25"), AmountUtil.parse("-500.25"));
|
||||
assertEquals(new BigDecimal("1000.00"), AmountUtil.parse("KRW 1000"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void amountUtil_parse_InvalidAmount() {
|
||||
assertNull(AmountUtil.parse("invalid"));
|
||||
assertNull(AmountUtil.parse(null));
|
||||
assertNull(AmountUtil.parse(""));
|
||||
}
|
||||
|
||||
@Test
|
||||
void amountUtil_format() {
|
||||
assertEquals("KRW 1000.50", AmountUtil.format(new BigDecimal("1000.50")));
|
||||
assertEquals("USD 1000.50", AmountUtil.format(new BigDecimal("1000.50"), "USD"));
|
||||
assertEquals("", AmountUtil.format(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
void amountUtil_add() {
|
||||
assertEquals(new BigDecimal("150.75"), AmountUtil.add(new BigDecimal("100.50"), new BigDecimal("50.25")));
|
||||
assertNull(AmountUtil.add(null, new BigDecimal("10")));
|
||||
}
|
||||
|
||||
@Test
|
||||
void amountUtil_subtract() {
|
||||
assertEquals(new BigDecimal("50.25"), AmountUtil.subtract(new BigDecimal("100.50"), new BigDecimal("50.25")));
|
||||
}
|
||||
|
||||
@Test
|
||||
void amountUtil_multiply() {
|
||||
assertEquals(new BigDecimal("301.50"), AmountUtil.multiply(new BigDecimal("100.50"), 3));
|
||||
assertEquals(new BigDecimal("150.00"), AmountUtil.multiply(new BigDecimal("100.00"), new BigDecimal("1.5")));
|
||||
}
|
||||
|
||||
@Test
|
||||
void amountUtil_divide() {
|
||||
assertEquals(new BigDecimal("25.00"), AmountUtil.divide(new BigDecimal("100.00"), new BigDecimal("4")));
|
||||
assertNull(AmountUtil.divide(new BigDecimal("100"), BigDecimal.ZERO));
|
||||
}
|
||||
|
||||
@Test
|
||||
void amountUtil_isPositive() {
|
||||
assertTrue(AmountUtil.isPositive(new BigDecimal("100")));
|
||||
assertFalse(AmountUtil.isPositive(new BigDecimal("-100")));
|
||||
assertFalse(AmountUtil.isPositive(BigDecimal.ZERO));
|
||||
}
|
||||
|
||||
// MessageUtil Tests
|
||||
@Test
|
||||
void messageUtil_encode_ByteArray() {
|
||||
String result = MessageUtil.encode("TEST", "Hello World".getBytes());
|
||||
assertNotNull(result);
|
||||
assertTrue(result.startsWith("TEST|11|"));
|
||||
assertTrue(result.endsWith("Hello World"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void messageUtil_encode_NullType() {
|
||||
assertNull(MessageUtil.encode(null, "payload"));
|
||||
assertNull(MessageUtil.encode("", "payload"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void messageUtil_decode_ValidMessage() {
|
||||
MessageUtil.MessageFrame frame = MessageUtil.decode("TEST|11|Hello World");
|
||||
assertNotNull(frame);
|
||||
assertEquals("TEST", frame.getType());
|
||||
assertEquals(11, frame.getLength());
|
||||
assertEquals("Hello World", frame.getPayloadAsString());
|
||||
}
|
||||
|
||||
@Test
|
||||
void messageUtil_decode_InvalidMessage() {
|
||||
assertNull(MessageUtil.decode(null));
|
||||
assertNull(MessageUtil.decode(""));
|
||||
assertNull(MessageUtil.decode("invalid"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void messageUtil_checksum() {
|
||||
assertEquals(198, MessageUtil.checksum("ABC".getBytes()));
|
||||
assertEquals(0, MessageUtil.checksum((byte[]) null));
|
||||
assertEquals(198, MessageUtil.checksum("ABC"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void messageUtil_base64() {
|
||||
assertEquals("SGVsbG8=", MessageUtil.encodeBase64("Hello".getBytes()));
|
||||
assertEquals("Hello", new String(MessageUtil.decodeBase64("SGVsbG8=")));
|
||||
assertNull(MessageUtil.decodeBase64("!!!invalid!!!"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void messageUtil_roundTrip() {
|
||||
String type = "DATA";
|
||||
String payload = "Round trip test";
|
||||
String encoded = MessageUtil.encode(type, payload);
|
||||
MessageUtil.MessageFrame decoded = MessageUtil.decode(encoded);
|
||||
assertNotNull(decoded);
|
||||
assertEquals(type, decoded.getType());
|
||||
assertEquals(payload, decoded.getPayloadAsString());
|
||||
}
|
||||
}
|
||||
Reference in a new issue