test('applies function filter', function () {
			var res = l.getClosestItem(0, 0, function (i) {
				if (i.tsid === 'I1') {
					return true;
				}
			});
			assert.deepEqual(res, {tsid: 'I1', class_tsid: 'C1', x: -10, y: -10});
			var f = function (i, opt) {
				if (i.tsid === opt) {
					return true;
				}
			};
			res = l.getClosestItem(0, 0, f, 'I2');
			assert.deepEqual(res, {tsid: 'I2', class_tsid: 'C2', x: 15, y: 1});
		});
		test('applies string filter', function () {
			var res = l.getClosestItem(0, 0, 'C2');
			assert.deepEqual(res, {tsid: 'I3', class_tsid: 'C2', x: -10, y: 0});
			res = l.getClosestItem(0, 0, 'C3');
			assert.deepEqual(res, {tsid: 'I5', class_tsid: 'C3', x: -7, y: -7});
		});
		test('works as intended without filter', function () {
			var res = l.getClosestItem(0, 0);
			assert.deepEqual(res, {tsid: 'I5', class_tsid: 'C3', x: -7, y: -7});
			res = l.getClosestItem(7, -5);
			assert.deepEqual(res, {tsid: 'I6', class_tsid: 'C3', x: 7, y: -8});
		});