Refactored ElementProxy and UnitAccessorMutator slightly to improve encasulation. Added unit tests for UnitAccessorMutator
73 lines
2.6 KiB
JavaScript
73 lines
2.6 KiB
JavaScript
define(
|
|
['../../src/elements/UnitAccessorMutator'],
|
|
function (UnitAccessorMutator) {
|
|
|
|
var GRID_SIZE = [13,17];
|
|
|
|
describe("An elementProxy.gridSize accessor-mutator", function () {
|
|
var mockElementProxy,
|
|
testElement,
|
|
uAM;
|
|
|
|
beforeEach(function () {
|
|
testElement = {
|
|
x: 2,
|
|
y: 3,
|
|
width: 4,
|
|
height: 5,
|
|
useGrid: true
|
|
};
|
|
|
|
mockElementProxy = {
|
|
element: testElement,
|
|
gridSize: GRID_SIZE,
|
|
getMinHeight: jasmine.createSpy('minHeight'),
|
|
getMinWidth: jasmine.createSpy('minWidth')
|
|
};
|
|
|
|
uAM = new UnitAccessorMutator(mockElementProxy);
|
|
|
|
mockElementProxy.getMinWidth.andReturn(1);
|
|
mockElementProxy.getMinHeight.andReturn(1);
|
|
|
|
});
|
|
|
|
it("allows access to useGrid", function () {
|
|
expect(uAM()).toEqual(mockElementProxy.element.useGrid);
|
|
});
|
|
|
|
it("allows mutation of useGrid", function () {
|
|
uAM(false);
|
|
expect(mockElementProxy.element.useGrid).toEqual(false);
|
|
});
|
|
|
|
it("converts coordinates appropriately", function () {
|
|
uAM(false);
|
|
expect(mockElementProxy.element.x).toEqual(26);
|
|
expect(mockElementProxy.element.y).toEqual(51);
|
|
expect(mockElementProxy.element.width).toEqual(52);
|
|
expect(mockElementProxy.element.height).toEqual(85);
|
|
uAM(true);
|
|
expect(mockElementProxy.element.x).toEqual(2);
|
|
expect(mockElementProxy.element.y).toEqual(3);
|
|
expect(mockElementProxy.element.width).toEqual(4);
|
|
expect(mockElementProxy.element.height).toEqual(5);
|
|
});
|
|
|
|
it("doesn't covert coordinates unecessarily", function () {
|
|
uAM(false);
|
|
expect(mockElementProxy.element.x).toEqual(26);
|
|
expect(mockElementProxy.element.y).toEqual(51);
|
|
expect(mockElementProxy.element.width).toEqual(52);
|
|
expect(mockElementProxy.element.height).toEqual(85);
|
|
uAM(false);
|
|
expect(mockElementProxy.element.x).toEqual(26);
|
|
expect(mockElementProxy.element.y).toEqual(51);
|
|
expect(mockElementProxy.element.width).toEqual(52);
|
|
expect(mockElementProxy.element.height).toEqual(85);
|
|
});
|
|
|
|
});
|
|
}
|
|
);
|