// Test the bar element describe('Bar element tests', function() { it('Should correctly identify as in range', function() { var bar = new Chart.elements.BarElement({ base: 0, width: 4, x: 10, y: 15 }); expect(bar.inRange(10, 15)).toBe(true); expect(bar.inRange(10, 10)).toBe(true); expect(bar.inRange(10, 16)).toBe(false); expect(bar.inRange(5, 5)).toBe(false); // Test when the y is below the base (negative bar) var negativeBar = new Chart.elements.BarElement({ base: 0, width: 4, x: 10, y: -15 }); expect(negativeBar.inRange(10, -16)).toBe(false); expect(negativeBar.inRange(10, 1)).toBe(false); expect(negativeBar.inRange(10, -5)).toBe(true); }); it('should get the correct tooltip position', function() { var bar = new Chart.elements.BarElement({ base: 0, width: 4, x: 10, y: 15 }); expect(bar.tooltipPosition()).toEqual({ x: 10, y: 15, }); // Test when the y is below the base (negative bar) var negativeBar = new Chart.elements.BarElement({ base: -10, width: 4, x: 10, y: -15 }); expect(negativeBar.tooltipPosition()).toEqual({ x: 10, y: -15, }); }); it('should get the center', function() { var bar = new Chart.elements.BarElement({ base: 0, width: 4, x: 10, y: 15 }); expect(bar.getCenterPoint()).toEqual({x: 10, y: 7.5}); }); });