투자관리 화면 수정
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
package com.goldenchart.service;
|
||||
|
||||
import com.goldenchart.entity.GcPaperSymbolAllocation;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class PaperTradeStageServiceTest {
|
||||
|
||||
@Test
|
||||
void stagedBuyAdvancesBySignal() {
|
||||
GcPaperSymbolAllocation a = GcPaperSymbolAllocation.builder()
|
||||
.buyStage1Krw(BigDecimal.valueOf(100_000))
|
||||
.buyStage2Krw(BigDecimal.valueOf(200_000))
|
||||
.buyStageDone(0)
|
||||
.build();
|
||||
assertTrue(PaperTradeStageService.usesStagedTrading(a));
|
||||
assertEquals(100_000, PaperTradeStageService.nextBuyStageKrw(a));
|
||||
PaperTradeStageService.advanceBuyStage(a);
|
||||
assertEquals(200_000, PaperTradeStageService.nextBuyStageKrw(a));
|
||||
assertEquals(0, PaperTradeStageService.nextSellStageKrw(a));
|
||||
}
|
||||
|
||||
@Test
|
||||
void resetAfterFlatPosition() {
|
||||
GcPaperSymbolAllocation a = GcPaperSymbolAllocation.builder()
|
||||
.buyStageDone(2)
|
||||
.sellStageDone(1)
|
||||
.build();
|
||||
PaperTradeStageService.resetTradeStages(a);
|
||||
assertEquals(0, a.getBuyStageDone());
|
||||
assertEquals(0, a.getSellStageDone());
|
||||
}
|
||||
|
||||
@Test
|
||||
void sellQtyCappedByAvailable() {
|
||||
double qty = PaperTradeStageService.sellQtyForStageKrw(500_000, 0.5, 100_000);
|
||||
assertEquals(0.5, qty, 1e-9);
|
||||
double partial = PaperTradeStageService.sellQtyForStageKrw(500_000, 0.001, 100_000);
|
||||
assertEquals(0.001, partial, 1e-9);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user