text: // Test the rectangle element
  
  describe('Rectangle element tests', function () {
  	it('Should be constructed', function () {
  		var rectangle = new Chart.elements.Rectangle({
  			_datasetIndex: 2,
  			_index: 1
  		});
  
  		expect(rectangle).not.toBe(undefined);
  		expect(rectangle._datasetIndex).toBe(2);
  		expect(rectangle._index).toBe(1);
  	});
  
  	it('Should correctly identify as in range', function () {
  		var rectangle = new Chart.elements.Rectangle({
  			_datasetIndex: 2,
  			_index: 1
  		});
  
  		// Safely handles if these are called before the viewmodel is instantiated
  		expect(rectangle.inRange(5)).toBe(false);
  		expect(rectangle.inLabelRange(5)).toBe(false);
  
  		// Attach a view object as if we were the controller
  		rectangle._view = {
  			base: 0,
  			width: 4,
  			x: 10,
  			y: 15
  		};
  
  		expect(rectangle.inRange(10, 15)).toBe(true);
  		expect(rectangle.inRange(10, 10)).toBe(true);
  		expect(rectangle.inRange(10, 16)).toBe(false);
  		expect(rectangle.inRange(5, 5)).toBe(false);
  
  		expect(rectangle.inLabelRange(5)).toBe(false);
  		expect(rectangle.inLabelRange(7)).toBe(false);
  		expect(rectangle.inLabelRange(10)).toBe(true);
  		expect(rectangle.inLabelRange(12)).toBe(true);
  		expect(rectangle.inLabelRange(15)).toBe(false);
  		expect(rectangle.inLabelRange(20)).toBe(false);
  
  		// Test when the y is below the base (negative bar)
  		var negativeRectangle = new Chart.elements.Rectangle({
  			_datasetIndex: 2,
  			_index: 1
  		});
  
  		// Attach a view object as if we were the controller
  		negativeRectangle._view = {
  			base: 0,
  			width: 4,
  			x: 10,
  			y: -15
  		};
  
  		expect(negativeRectangle.inRange(10, -16)).toBe(false);
  		expect(negativeRectangle.inRange(10, 1)).toBe(false);
  		expect(negativeRectangle.inRange(10, -5)).toBe(true);
  	});
  
  	it('should get the correct height', function () {
  		var rectangle = new Chart.elements.Rectangle({
  			_datasetIndex: 2,
  			_index: 1
  		});
  
  		// Attach a view object as if we were the controller
  		rectangle._view = {
  			base: 0,
  			width: 4,
  			x: 10,
  			y: 15
  		};
  
  		expect(rectangle.height()).toBe(-15);
  
  		// Test when the y is below the base (negative bar)
  		var negativeRectangle = new Chart.elements.Rectangle({
  			_datasetIndex: 2,
  			_index: 1
  		});
  
  		// Attach a view object as if we were the controller
  		negativeRectangle._view = {
  			base: -10,
  			width: 4,
  			x: 10,
  			y: -15
  		};
  		expect(negativeRectangle.height()).toBe(5);
  	});
  
  	it('should get the correct tooltip position', function () {
  		var rectangle = new Chart.elements.Rectangle({
  			_datasetIndex: 2,
  			_index: 1
  		});
  
  		// Attach a view object as if we were the controller
  		rectangle._view = {
  			base: 0,
  			width: 4,
  			x: 10,
  			y: 15
  		};
  
  		expect(rectangle.tooltipPosition()).toEqual({
  			x: 10,
  			y: 15,
  		});
  
  		// Test when the y is below the base (negative bar)
  		var negativeRectangle = new Chart.elements.Rectangle({
  			_datasetIndex: 2,
  			_index: 1
  		});
  
  		// Attach a view object as if we were the controller
  		negativeRectangle._view = {
  			base: -10,
  			width: 4,
  			x: 10,
  			y: -15
  		};
  
  		expect(negativeRectangle.tooltipPosition()).toEqual({
  			x: 10,
  			y: -15,
  		});
  	});
  
  	it('should get the correct vertical area', function () {
  		var rectangle = new Chart.elements.Rectangle({
  			_datasetIndex: 2,
  			_index: 1
  		});
  
  		// Attach a view object as if we were the controller
  		rectangle._view = {
  			base: 0,
  			width: 4,
  			x: 10,
  			y: 15
  		};
  
  		expect(rectangle.getArea()).toEqual(60);
  	});
  
  	it('should get the correct horizontal area', function () {
  		var rectangle = new Chart.elements.Rectangle({
  			_datasetIndex: 2,
  			_index: 1
  		});
  
  		// Attach a view object as if we were the controller
  		rectangle._view = {
  			base: 0,
  			height: 4,
  			x: 10,
  			y: 15
  		};
  
  		expect(rectangle.getArea()).toEqual(40);
  	});
  
  	it('should get the center', function () {
  		var rectangle = new Chart.elements.Rectangle({
  			_datasetIndex: 2,
  			_index: 1
  		});
  
  		// Attach a view object as if we were the controller
  		rectangle._view = {
  			base: 0,
  			width: 4,
  			x: 10,
  			y: 15
  		};
  
  		expect(rectangle.getCenterPoint()).toEqual({x: 10, y: 7.5});
  	});
  });
  