mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-20 00:04:22 +02:00
CODEBASE: Add Jsonable Map and Set types, move player.sourceFiles to a map (#473)
This commit is contained in:
@@ -27,9 +27,8 @@ function isRemovedFunction(ctx: NetscriptContext, fn: (ctx: NetscriptContext) =>
|
||||
}
|
||||
|
||||
describe("Netscript RAM Calculation/Generation Tests", function () {
|
||||
Player.sourceFiles[0] = { n: 4, lvl: 3 };
|
||||
Player.sourceFiles.set(4, 3);
|
||||
// For simulating costs of singularity functions.
|
||||
const sf4 = Player.sourceFiles[0];
|
||||
const baseCost = RamCostConstants.Base;
|
||||
const maxCost = RamCostConstants.Max;
|
||||
const script = new Script();
|
||||
@@ -38,7 +37,7 @@ describe("Netscript RAM Calculation/Generation Tests", function () {
|
||||
script.code = code;
|
||||
// Force ram calculation reset
|
||||
script.ramUsage = null;
|
||||
const ramUsage = script.getRamUsage([]);
|
||||
const ramUsage = script.getRamUsage(new Map());
|
||||
if (!ramUsage) throw new Error("Ram usage should be defined.");
|
||||
const runningScript = new RunningScript(script, ramUsage);
|
||||
return runningScript;
|
||||
@@ -63,7 +62,7 @@ describe("Netscript RAM Calculation/Generation Tests", function () {
|
||||
ramUsage: scriptRef.ramUsage,
|
||||
scriptRef,
|
||||
};
|
||||
const nsExternal = NetscriptFunctions(workerScript as WorkerScript);
|
||||
const nsExternal = NetscriptFunctions(workerScript as unknown as WorkerScript);
|
||||
|
||||
function combinedRamCheck(
|
||||
fn: PotentiallyAsyncFunction,
|
||||
@@ -78,7 +77,7 @@ describe("Netscript RAM Calculation/Generation Tests", function () {
|
||||
expect(getRamCost(...fnPath)).toEqual(expectedRamCost);
|
||||
|
||||
// Static ram check
|
||||
const staticCost = calculateRamUsage(code, []).cost;
|
||||
const staticCost = calculateRamUsage(code, new Map()).cost;
|
||||
expect(staticCost).toBeCloseTo(Math.min(baseCost + expectedRamCost + extraLayerCost, maxCost));
|
||||
|
||||
// reset workerScript for dynamic check
|
||||
@@ -144,7 +143,7 @@ describe("Netscript RAM Calculation/Generation Tests", function () {
|
||||
|
||||
describe("Singularity multiplier checks", () => {
|
||||
// Checks were already done above for SF4.3 having normal ramcost.
|
||||
sf4.lvl = 3;
|
||||
Player.sourceFiles.set(4, 3);
|
||||
const lvlToMult = { 0: 16, 1: 16, 2: 4 };
|
||||
const externalSingularity = nsExternal.singularity;
|
||||
const ramCostSingularity = RamCosts.singularity;
|
||||
@@ -160,7 +159,7 @@ describe("Netscript RAM Calculation/Generation Tests", function () {
|
||||
});
|
||||
for (const lvl of [0, 1, 2] as const) {
|
||||
it(`SF4.${lvl} check for x${lvlToMult[lvl]} costs`, () => {
|
||||
sf4.lvl = lvl;
|
||||
Player.sourceFiles.set(4, lvl);
|
||||
const expectedMult = lvlToMult[lvl];
|
||||
singObjects.forEach(({ name, baseRam }) => {
|
||||
const fn = getFunction(externalSingularity[name]);
|
||||
|
||||
Reference in New Issue
Block a user