36 lines
1.3 KiB
TypeScript
36 lines
1.3 KiB
TypeScript
/// <reference path="../../definitions/jasmine.d.ts"/>
|
|
|
|
module SpaceTac.Game {
|
|
describe("MoveAction", function () {
|
|
it("checks movement against remaining AP", function(){
|
|
var ship = new Ship(null, "Test");
|
|
ship.ap_current = 6;
|
|
ship.movement_cost = 2;
|
|
ship.arena_x = 0;
|
|
ship.arena_y = 0;
|
|
var action = new MoveAction();
|
|
|
|
var result = action.checkTarget(null, ship, Target.newFromLocation(0, 2));
|
|
expect(result).toEqual(Target.newFromLocation(0, 2));
|
|
|
|
var result = action.checkTarget(null, ship, Target.newFromLocation(0, 8));
|
|
expect(result).toEqual(Target.newFromLocation(0, 3));
|
|
|
|
ship.ap_current = 0;
|
|
var result = action.checkTarget(null, ship, Target.newFromLocation(0, 8));
|
|
expect(result).toBeNull();
|
|
});
|
|
|
|
it("forbids targetting a ship", function(){
|
|
var ship1 = new Ship(null, "Test1");
|
|
var ship2 = new Ship(null, "Test2");
|
|
var action = new MoveAction();
|
|
|
|
var result = action.checkTarget(null, ship1, Target.newFromShip(ship1));
|
|
expect(result).toBeNull();
|
|
|
|
var result = action.checkTarget(null, ship1, Target.newFromShip(ship2));
|
|
expect(result).toBeNull();
|
|
});
|
|
});
|
|
} |