Skip to content
This repository was archived by the owner on Aug 11, 2021. It is now read-only.

Commit 7275989

Browse files
committed
Update unit tests
1 parent 1a70f7a commit 7275989

File tree

3 files changed

+60
-16
lines changed

3 files changed

+60
-16
lines changed

test/models/prime/fill.test.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,4 @@ describe('Fill', () => {
5656

5757
expect(alcove.itemRule(assumedItems, world.getSettings())).to.be.true;
5858
});
59-
60-
it('should NOT fill Alcove (PONR: Do Not Allow)', () => {
61-
const world = setUpWorld(new PrimeRandomizerSettings({
62-
pointOfNoReturnItems: PointOfNoReturnItems.DO_NOT_ALLOW
63-
}));
64-
65-
const alcove = world.getLocationByKey(PrimeLocation.ALCOVE);
66-
const assumedItems = new PrimeItemCollection([
67-
primeItems[PrimeItem.MORPH_BALL],
68-
primeItems[PrimeItem.BOOST_BALL],
69-
primeItems[PrimeItem.MORPH_BALL_BOMB]
70-
]);
71-
72-
expect(alcove.itemRule(assumedItems, world.getSettings())).to.be.false;
73-
});
7459
});

test/models/prime/randomizerSettings.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ describe('PrimeRandomizerSettings', () => {
2929
alcoveNoItems: true
3030
}
3131
});
32-
const expected = 'KDJOJK-2D91XAFQV9MTQVAGICCXOXQF4-UQ3UEU2I5SNC9D47UV4-9UR54UT49VK';
32+
const expected = '124TP1C-2D91XAFQV9MTQVAGICCXOXQF4-UQ3UEU2I5SNC9D47UV4-4XDKKFEK4XS';
3333
const result = settings.toSettingsString();
3434

3535
expect(result).to.equal(expected);

test/models/prime/tricks.test.ts

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import { setUpWorld } from '../../utils';
2+
import { primeItems } from '../../../src/electron/models/prime/items';
3+
import { expect } from 'chai';
4+
import 'mocha';
5+
import { PrimeRandomizerSettings } from '../../../src/electron/models/prime/randomizerSettings';
6+
import { PrimeWorld } from '../../../src/electron/models/prime/world';
7+
import { PrimeItemCollection } from '../../../src/electron/models/prime/itemCollection';
8+
import { PrimeLocation } from '../../../src/electron/enums/primeLocation';
9+
import { ENTRANCE_SEPARATOR } from '../../../src/common/constants';
10+
import { PrimeItem } from '../../../src/electron/enums/primeItem';
11+
12+
describe('Tricks', () => {
13+
it('should handle Alcove with No Items', () => {
14+
const world = setUpWorld(new PrimeRandomizerSettings({
15+
tricks: {
16+
alcoveNoItems: true
17+
}
18+
}));
19+
const items = new PrimeItemCollection([]);
20+
const exit = world.getRegionByKey('Landing Site').getExit('Landing Site' + ENTRANCE_SEPARATOR + 'Alcove');
21+
22+
expect(exit.accessRule(items, world.getSettings())).to.be.true;
23+
});
24+
25+
it('should handle Arbor Chamber without Plasma Beam', () => {
26+
const world = setUpWorld(new PrimeRandomizerSettings({
27+
tricks: {
28+
arborChamberWithoutPlasma: true
29+
}
30+
}));
31+
const items = new PrimeItemCollection([
32+
primeItems[PrimeItem.MISSILE_LAUNCHER],
33+
primeItems[PrimeItem.MORPH_BALL],
34+
primeItems[PrimeItem.MORPH_BALL_BOMB],
35+
primeItems[PrimeItem.SPACE_JUMP_BOOTS],
36+
primeItems[PrimeItem.XRAY_VISOR],
37+
primeItems[PrimeItem.GRAPPLE_BEAM]
38+
]);
39+
const location = world.getLocationByKey(PrimeLocation.ARBOR_CHAMBER);
40+
41+
expect(location.itemRule(items, world.getSettings())).to.be.true;
42+
});
43+
44+
it('should handle Climb Frigate Crash Site', () => {
45+
const world = setUpWorld(new PrimeRandomizerSettings({
46+
tricks: {
47+
climbFrigateCrashSite: true
48+
}
49+
}));
50+
const items = new PrimeItemCollection([
51+
primeItems[PrimeItem.MORPH_BALL],
52+
primeItems[PrimeItem.SPACE_JUMP_BOOTS],
53+
primeItems[PrimeItem.ICE_BEAM]
54+
]);
55+
const exit = world.getRegionByKey('Frigate Crash Site').getExit('Frigate Crash Site' + ENTRANCE_SEPARATOR + 'Overgrown Cavern');
56+
57+
expect(exit.accessRule(items, world.getSettings())).to.be.true;
58+
});
59+
});

0 commit comments

Comments
 (0)