package com.ruoyi.order.service.impl; import org.junit.jupiter.api.Test; import java.math.BigDecimal; import static org.junit.jupiter.api.Assertions.assertEquals; class ChargingPaymentSupportTest { @Test void classifiesPartialBalanceAsCombinationPayment() { assertEquals(2, ChargingPaymentSupport.resolvePayMethod( new BigDecimal("1.00"), new BigDecimal("2.00"), 3)); } @Test void classifiesZeroBalanceCombinationSelectionAsThirdPartyPayment() { assertEquals(3, ChargingPaymentSupport.resolvePayMethod( BigDecimal.ZERO, new BigDecimal("3.00"), 2)); } @Test void classifiesFullyCoveredPaymentAsBalancePayment() { assertEquals(1, ChargingPaymentSupport.resolvePayMethod( new BigDecimal("3.00"), BigDecimal.ZERO, 2)); } @Test void preservesSelectedBalanceMethodForAllFreeWhitelistPayment() { assertEquals(1, ChargingPaymentSupport.resolvePayMethod( BigDecimal.ZERO, BigDecimal.ZERO, 1)); } }