package com.gzzm.lobster.context;

import org.junit.Test;

import static org.junit.Assert.*;

public class ContextBudgetPolicyTest {

    @Test
    public void budgetsAllocatedByPercentage() {
        ContextBudgetPolicy p = new ContextBudgetPolicy(10_000);
        assertTrue(p.getSystemSoft() > 0);
        assertTrue(p.getTranscriptSoft() > p.getSystemSoft());
        assertTrue(p.getTotalHardCap() == 10_000);
    }

    @Test
    public void hardGatePassesWhenUnderCap() {
        ContextBudgetPolicy p = new ContextBudgetPolicy(1_000);
        assertTrue(p.checkHardGate(500));
        assertFalse(p.checkHardGate(1_001));
    }
}
