[Plot] Add test cases

Add test cases for plot line management, WTD-806.
This commit is contained in:
Victor Woeltjen
2015-04-20 14:31:29 -07:00
parent e21cbbe2c6
commit 4d288950fd
4 changed files with 105 additions and 7 deletions

View File

@@ -6,6 +6,68 @@ define(
"use strict";
describe("A plot's window on a telemetry series", function () {
var mockSeries,
testSeries,
window;
beforeEach(function () {
testSeries = [
[ 0, 42 ],
[ 10, 1 ],
[ 20, 4 ],
[ 30, 9 ],
[ 40, 3 ]
];
mockSeries = jasmine.createSpyObj(
'series',
['getPointCount', 'getDomainValue', 'getRangeValue']
);
mockSeries.getPointCount.andCallFake(function () {
return testSeries.length;
});
mockSeries.getDomainValue.andCallFake(function (i) {
return testSeries[i][0];
});
mockSeries.getRangeValue.andCallFake(function (i) {
return testSeries[i][1];
});
window = new PlotSeriesWindow(
mockSeries,
"testDomain",
"testRange",
1,
testSeries.length
);
});
it("provides a window upon a data series", function () {
expect(window.getPointCount()).toEqual(4);
expect(window.getDomainValue(0)).toEqual(10);
expect(window.getRangeValue(0)).toEqual(1);
});
it("looks up using specific domain/range keys", function () {
window.getDomainValue(0);
window.getRangeValue(0);
expect(mockSeries.getDomainValue)
.toHaveBeenCalledWith(1, 'testDomain');
expect(mockSeries.getRangeValue)
.toHaveBeenCalledWith(1, 'testRange');
});
it("can be split into smaller windows", function () {
var windows = window.split();
expect(windows.length).toEqual(2);
expect(windows[0].getPointCount()).toEqual(2);
expect(windows[1].getPointCount()).toEqual(2);
expect(windows[0].getDomainValue(0)).toEqual(10);
expect(windows[1].getDomainValue(0)).toEqual(30);
expect(windows[0].getRangeValue(0)).toEqual(1);
expect(windows[1].getRangeValue(0)).toEqual(9);
});
});
}