@pie-lib/graphing 4.1.0-beta.6 → 4.1.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/package.json +3 -3
  2. package/lib/__tests__/bg.test.js +0 -282
  3. package/lib/__tests__/bg.test.js.map +0 -1
  4. package/lib/__tests__/coordinates-label.test.js +0 -276
  5. package/lib/__tests__/coordinates-label.test.js.map +0 -1
  6. package/lib/__tests__/graph-with-controls.test.js +0 -275
  7. package/lib/__tests__/graph-with-controls.test.js.map +0 -1
  8. package/lib/__tests__/graph.test.js +0 -927
  9. package/lib/__tests__/graph.test.js.map +0 -1
  10. package/lib/__tests__/grid-setup.test.js +0 -729
  11. package/lib/__tests__/grid-setup.test.js.map +0 -1
  12. package/lib/__tests__/grid.test.js +0 -29
  13. package/lib/__tests__/grid.test.js.map +0 -1
  14. package/lib/__tests__/key-legend.test.js +0 -321
  15. package/lib/__tests__/key-legend.test.js.map +0 -1
  16. package/lib/__tests__/label-svg-icon.test.js +0 -373
  17. package/lib/__tests__/label-svg-icon.test.js.map +0 -1
  18. package/lib/__tests__/labels.test.js +0 -61
  19. package/lib/__tests__/labels.test.js.map +0 -1
  20. package/lib/__tests__/mark-label.test.js +0 -133
  21. package/lib/__tests__/mark-label.test.js.map +0 -1
  22. package/lib/__tests__/toggle-bar.test.js +0 -197
  23. package/lib/__tests__/toggle-bar.test.js.map +0 -1
  24. package/lib/__tests__/tool-menu.test.js +0 -151
  25. package/lib/__tests__/tool-menu.test.js.map +0 -1
  26. package/lib/__tests__/undo-redo.test.js +0 -31
  27. package/lib/__tests__/undo-redo.test.js.map +0 -1
  28. package/lib/__tests__/use-debounce.test.js +0 -24
  29. package/lib/__tests__/use-debounce.test.js.map +0 -1
  30. package/lib/__tests__/utils.js +0 -70
  31. package/lib/__tests__/utils.js.map +0 -1
  32. package/lib/__tests__/utils.test.js +0 -123
  33. package/lib/__tests__/utils.test.js.map +0 -1
  34. package/lib/axis/__tests__/arrow.test.js +0 -60
  35. package/lib/axis/__tests__/arrow.test.js.map +0 -1
  36. package/lib/axis/__tests__/axes.test.js +0 -195
  37. package/lib/axis/__tests__/axes.test.js.map +0 -1
  38. package/lib/container/__tests__/actions.test.js +0 -108
  39. package/lib/container/__tests__/actions.test.js.map +0 -1
  40. package/lib/container/__tests__/index.test.js +0 -503
  41. package/lib/container/__tests__/index.test.js.map +0 -1
  42. package/lib/container/__tests__/marks.test.js +0 -259
  43. package/lib/container/__tests__/marks.test.js.map +0 -1
  44. package/lib/container/__tests__/middleware.test.js +0 -244
  45. package/lib/container/__tests__/middleware.test.js.map +0 -1
  46. package/lib/container/__tests__/reducer.test.js +0 -450
  47. package/lib/container/__tests__/reducer.test.js.map +0 -1
  48. package/lib/tools/absolute/__tests__/component.test.js +0 -65
  49. package/lib/tools/absolute/__tests__/component.test.js.map +0 -1
  50. package/lib/tools/circle/__tests__/bg-circle.test.js +0 -33
  51. package/lib/tools/circle/__tests__/bg-circle.test.js.map +0 -1
  52. package/lib/tools/circle/__tests__/component.test.js +0 -615
  53. package/lib/tools/circle/__tests__/component.test.js.map +0 -1
  54. package/lib/tools/circle/__tests__/index.test.js +0 -576
  55. package/lib/tools/circle/__tests__/index.test.js.map +0 -1
  56. package/lib/tools/exponential/__tests__/component.test.js +0 -64
  57. package/lib/tools/exponential/__tests__/component.test.js.map +0 -1
  58. package/lib/tools/exponential/__tests__/index.test.js +0 -828
  59. package/lib/tools/exponential/__tests__/index.test.js.map +0 -1
  60. package/lib/tools/line/__tests__/component.test.js +0 -45
  61. package/lib/tools/line/__tests__/component.test.js.map +0 -1
  62. package/lib/tools/parabola/__tests__/component.test.js +0 -64
  63. package/lib/tools/parabola/__tests__/component.test.js.map +0 -1
  64. package/lib/tools/parabola/__tests__/index.test.js +0 -564
  65. package/lib/tools/parabola/__tests__/index.test.js.map +0 -1
  66. package/lib/tools/point/__tests__/component.test.js +0 -434
  67. package/lib/tools/point/__tests__/component.test.js.map +0 -1
  68. package/lib/tools/point/__tests__/index.test.js +0 -262
  69. package/lib/tools/point/__tests__/index.test.js.map +0 -1
  70. package/lib/tools/polygon/__tests__/component.test.js +0 -485
  71. package/lib/tools/polygon/__tests__/component.test.js.map +0 -1
  72. package/lib/tools/polygon/__tests__/index.test.js +0 -303
  73. package/lib/tools/polygon/__tests__/index.test.js.map +0 -1
  74. package/lib/tools/polygon/__tests__/line.test.js +0 -50
  75. package/lib/tools/polygon/__tests__/line.test.js.map +0 -1
  76. package/lib/tools/polygon/__tests__/polygon.test.js +0 -85
  77. package/lib/tools/polygon/__tests__/polygon.test.js.map +0 -1
  78. package/lib/tools/ray/__tests__/component.test.js +0 -35
  79. package/lib/tools/ray/__tests__/component.test.js.map +0 -1
  80. package/lib/tools/segment/__tests__/component.test.js +0 -35
  81. package/lib/tools/segment/__tests__/component.test.js.map +0 -1
  82. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -45
  83. package/lib/tools/shared/__tests__/arrow-head.test.js.map +0 -1
  84. package/lib/tools/shared/line/__tests__/index.test.js +0 -124
  85. package/lib/tools/shared/line/__tests__/index.test.js.map +0 -1
  86. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -62
  87. package/lib/tools/shared/line/__tests__/line-path.test.js.map +0 -1
  88. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -90
  89. package/lib/tools/shared/line/__tests__/with-root-edge.test.js.map +0 -1
  90. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -127
  91. package/lib/tools/shared/point/__tests__/arrow-point.test.js.map +0 -1
  92. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -122
  93. package/lib/tools/shared/point/__tests__/base-point.test.js.map +0 -1
  94. package/lib/tools/sine/__tests__/component.test.js +0 -72
  95. package/lib/tools/sine/__tests__/component.test.js.map +0 -1
  96. package/lib/tools/vector/__tests__/component.test.js +0 -32
  97. package/lib/tools/vector/__tests__/component.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","names":["_index","require","_utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","jest","mock","equalPoints","fn","describe","circleTool","beforeEach","clearAllMocks","tool","it","expect","toBeDefined","_typeof2","toBe","type","Component","hover","addPoint","point","x","y","mark","root","result","toEqual","edge","label","correctness","value","undefined","mockReturnValue","building","toBeUndefined","toHaveBeenCalledWith","newEdge","originalMark","not","firstPoint","mark1","hoverPoint","mark2","secondPoint","mark3"],"sources":["../../../../src/tools/circle/__tests__/index.test.js"],"sourcesContent":["import { tool } from '../index';\nimport { equalPoints } from '../../../utils';\n\njest.mock('../../../utils', () => ({\n equalPoints: jest.fn(),\n}));\n\ndescribe('circle tool', () => {\n let circleTool;\n\n beforeEach(() => {\n jest.clearAllMocks();\n circleTool = tool();\n });\n\n describe('tool configuration', () => {\n it('creates a tool object', () => {\n expect(circleTool).toBeDefined();\n expect(typeof circleTool).toBe('object');\n });\n\n it('has type circle', () => {\n expect(circleTool.type).toBe('circle');\n });\n\n it('has a Component', () => {\n expect(circleTool.Component).toBeDefined();\n });\n\n it('has hover function', () => {\n expect(typeof circleTool.hover).toBe('function');\n });\n\n it('has addPoint function', () => {\n expect(typeof circleTool.addPoint).toBe('function');\n });\n });\n\n describe('hover', () => {\n it('returns mark with edge point', () => {\n const point = { x: 5, y: 10 };\n const mark = { type: 'circle', root: { x: 0, y: 0 } };\n\n const result = circleTool.hover(point, mark);\n\n expect(result).toEqual({ ...mark, edge: point });\n });\n\n it('updates existing mark with new edge', () => {\n const point = { x: 7, y: 8 };\n const mark = {\n type: 'circle',\n root: { x: 1, y: 1 },\n edge: { x: 3, y: 3 },\n };\n\n const result = circleTool.hover(point, mark);\n\n expect(result.edge).toEqual(point);\n expect(result.root).toEqual(mark.root);\n });\n\n it('preserves mark properties', () => {\n const point = { x: 5, y: 5 };\n const mark = {\n type: 'circle',\n root: { x: 0, y: 0 },\n label: 'Circle A',\n correctness: { value: 'correct' },\n };\n\n const result = circleTool.hover(point, mark);\n\n expect(result.label).toBe('Circle A');\n expect(result.correctness).toEqual({ value: 'correct' });\n });\n\n it('handles null mark', () => {\n const point = { x: 5, y: 10 };\n const mark = null;\n\n const result = circleTool.hover(point, mark);\n\n expect(result).toEqual({ edge: point });\n });\n\n it('handles undefined mark', () => {\n const point = { x: 5, y: 10 };\n const mark = undefined;\n\n const result = circleTool.hover(point, mark);\n\n expect(result).toEqual({ edge: point });\n });\n\n it('works with negative coordinates', () => {\n const point = { x: -5, y: -10 };\n const mark = { type: 'circle', root: { x: -1, y: -1 } };\n\n const result = circleTool.hover(point, mark);\n\n expect(result.edge).toEqual(point);\n });\n\n it('works with decimal coordinates', () => {\n const point = { x: 3.5, y: 7.8 };\n const mark = { type: 'circle', root: { x: 1.2, y: 2.4 } };\n\n const result = circleTool.hover(point, mark);\n\n expect(result.edge).toEqual(point);\n });\n });\n\n describe('addPoint', () => {\n describe('first point (creating root)', () => {\n it('creates new circle mark when no mark exists', () => {\n const point = { x: 5, y: 10 };\n const mark = null;\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, mark);\n\n expect(result).toEqual({\n type: 'circle',\n root: point,\n building: true,\n });\n });\n\n it('creates building circle with correct properties', () => {\n const point = { x: 3, y: 7 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, null);\n\n expect(result.type).toBe('circle');\n expect(result.root).toEqual(point);\n expect(result.building).toBe(true);\n expect(result.edge).toBeUndefined();\n });\n\n it('works with negative coordinates', () => {\n const point = { x: -5, y: -10 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, null);\n\n expect(result.root).toEqual(point);\n expect(result.building).toBe(true);\n });\n\n it('works with zero coordinates', () => {\n const point = { x: 0, y: 0 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, null);\n\n expect(result.root).toEqual(point);\n expect(result.building).toBe(true);\n });\n\n it('works with decimal coordinates', () => {\n const point = { x: 3.5, y: 7.25 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, null);\n\n expect(result.root).toEqual(point);\n expect(result.building).toBe(true);\n });\n });\n\n describe('second point (completing circle)', () => {\n it('completes circle when adding edge point', () => {\n const root = { x: 0, y: 0 };\n const edge = { x: 5, y: 5 };\n const mark = {\n type: 'circle',\n root,\n building: true,\n };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(edge, mark);\n\n expect(result).toEqual({\n ...mark,\n edge,\n building: false,\n });\n });\n\n it('sets building to false', () => {\n const mark = {\n type: 'circle',\n root: { x: 1, y: 1 },\n building: true,\n };\n const point = { x: 5, y: 5 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, mark);\n\n expect(result.building).toBe(false);\n });\n\n it('preserves mark type', () => {\n const mark = {\n type: 'circle',\n root: { x: 1, y: 1 },\n building: true,\n };\n const point = { x: 5, y: 5 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, mark);\n\n expect(result.type).toBe('circle');\n });\n\n it('preserves root when adding edge', () => {\n const root = { x: 2, y: 3 };\n const mark = {\n type: 'circle',\n root,\n building: true,\n };\n const edge = { x: 8, y: 9 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(edge, mark);\n\n expect(result.root).toEqual(root);\n expect(result.edge).toEqual(edge);\n });\n\n it('works with large radius', () => {\n const root = { x: 0, y: 0 };\n const edge = { x: 100, y: 100 };\n const mark = {\n type: 'circle',\n root,\n building: true,\n };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(edge, mark);\n\n expect(result.edge).toEqual(edge);\n expect(result.building).toBe(false);\n });\n\n it('works with small radius', () => {\n const root = { x: 5, y: 5 };\n const edge = { x: 5.1, y: 5.1 };\n const mark = {\n type: 'circle',\n root,\n building: true,\n };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(edge, mark);\n\n expect(result.edge).toEqual(edge);\n expect(result.building).toBe(false);\n });\n });\n\n describe('same point handling', () => {\n it('returns same mark when clicking same point as root', () => {\n const point = { x: 5, y: 10 };\n const mark = {\n type: 'circle',\n root: point,\n building: true,\n };\n equalPoints.mockReturnValue(true);\n\n const result = circleTool.addPoint(point, mark);\n\n expect(result).toBe(mark);\n });\n\n it('calls equalPoints with correct arguments', () => {\n const point = { x: 5, y: 10 };\n const mark = {\n type: 'circle',\n root: { x: 5, y: 10 },\n building: true,\n };\n equalPoints.mockReturnValue(true);\n\n circleTool.addPoint(point, mark);\n\n expect(equalPoints).toHaveBeenCalledWith(mark.root, point);\n });\n\n it('prevents zero-radius circle', () => {\n const point = { x: 5, y: 10 };\n const mark = {\n type: 'circle',\n root: { x: 5, y: 10 },\n building: true,\n };\n equalPoints.mockReturnValue(true);\n\n const result = circleTool.addPoint(point, mark);\n\n // Should return unchanged mark, not complete the circle\n expect(result).toBe(mark);\n expect(result.building).toBe(true);\n });\n });\n\n describe('edge cases', () => {\n it('handles undefined mark on first click', () => {\n const point = { x: 5, y: 10 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, undefined);\n\n expect(result.type).toBe('circle');\n expect(result.root).toEqual(point);\n expect(result.building).toBe(true);\n });\n\n it('handles mark with additional properties', () => {\n const mark = {\n type: 'circle',\n root: { x: 1, y: 1 },\n building: true,\n label: 'Circle 1',\n correctness: { value: 'correct' },\n };\n const point = { x: 5, y: 5 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, mark);\n\n expect(result.label).toBe('Circle 1');\n expect(result.correctness).toEqual({ value: 'correct' });\n expect(result.edge).toEqual(point);\n expect(result.building).toBe(false);\n });\n\n it('handles mark with existing edge', () => {\n const mark = {\n type: 'circle',\n root: { x: 0, y: 0 },\n edge: { x: 3, y: 3 },\n building: true,\n };\n const newEdge = { x: 5, y: 5 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(newEdge, mark);\n\n expect(result.edge).toEqual(newEdge);\n expect(result.building).toBe(false);\n });\n\n it('works with point at origin', () => {\n const point = { x: 0, y: 0 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, null);\n\n expect(result.root).toEqual(point);\n expect(result.building).toBe(true);\n });\n\n it('works with very large coordinates', () => {\n const point = { x: 1000, y: 1000 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, null);\n\n expect(result.root).toEqual(point);\n expect(result.building).toBe(true);\n });\n\n it('works with negative coordinates', () => {\n const point = { x: -10, y: -20 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, null);\n\n expect(result.root).toEqual(point);\n expect(result.building).toBe(true);\n });\n });\n\n describe('immutability', () => {\n it('does not mutate original mark when adding edge', () => {\n const mark = {\n type: 'circle',\n root: { x: 1, y: 1 },\n building: true,\n };\n const originalMark = { ...mark };\n const point = { x: 5, y: 5 };\n equalPoints.mockReturnValue(false);\n\n const result = circleTool.addPoint(point, mark);\n\n expect(mark).toEqual(originalMark);\n expect(result).not.toBe(mark);\n });\n\n it('does not mutate original mark when returning same', () => {\n const mark = {\n type: 'circle',\n root: { x: 5, y: 10 },\n building: true,\n };\n const point = { x: 5, y: 10 };\n equalPoints.mockReturnValue(true);\n\n const result = circleTool.addPoint(point, mark);\n\n expect(result).toBe(mark);\n });\n });\n });\n\n describe('integration scenarios', () => {\n it('handles full circle creation flow', () => {\n equalPoints.mockReturnValue(false);\n\n // First click - create root\n const firstPoint = { x: 5, y: 5 };\n const mark1 = circleTool.addPoint(firstPoint, null);\n expect(mark1.root).toEqual(firstPoint);\n expect(mark1.building).toBe(true);\n\n // Hover - show preview\n const hoverPoint = { x: 10, y: 10 };\n const mark2 = circleTool.hover(hoverPoint, mark1);\n expect(mark2.edge).toEqual(hoverPoint);\n\n // Second click - complete circle\n const secondPoint = { x: 10, y: 5 };\n const mark3 = circleTool.addPoint(secondPoint, mark1);\n expect(mark3.root).toEqual(firstPoint);\n expect(mark3.edge).toEqual(secondPoint);\n expect(mark3.building).toBe(false);\n });\n\n it('handles attempted zero-radius circle', () => {\n const point = { x: 5, y: 5 };\n\n // First click\n equalPoints.mockReturnValue(false);\n const mark1 = circleTool.addPoint(point, null);\n\n // Second click at same point\n equalPoints.mockReturnValue(true);\n const mark2 = circleTool.addPoint(point, mark1);\n\n // Should return unchanged mark\n expect(mark2).toBe(mark1);\n expect(mark2.building).toBe(true);\n });\n\n it('handles circle with labels', () => {\n equalPoints.mockReturnValue(false);\n\n const firstPoint = { x: 0, y: 0, label: 'Center' };\n const mark1 = circleTool.addPoint(firstPoint, null);\n\n const secondPoint = { x: 5, y: 0, label: 'Edge' };\n const mark2 = circleTool.addPoint(secondPoint, mark1);\n\n expect(mark2.root.label).toBe('Center');\n expect(mark2.building).toBe(false);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,64 +0,0 @@
1
- "use strict";
2
-
3
- var _withRootEdge = require("../../shared/line/with-root-edge");
4
- var _graphingUtils = require("@pie-lib/graphing-utils");
5
- var _plot = require("@pie-lib/plot");
6
- var _utils = require("../../../__tests__/utils");
7
- var xy = _plot.utils.xy;
8
- jest.mock('@pie-lib/graphing-utils', function () {
9
- return {
10
- buildDataPoints: jest.fn().mockReturnValue([]),
11
- exponentialFromTwoPoints: jest.fn(function () {
12
- return jest.fn();
13
- }),
14
- getAmplitudeAndFreq: jest.fn().mockReturnValue({
15
- freq: 4,
16
- amplitude: 1
17
- })
18
- };
19
- });
20
- jest.mock('../../shared/line/with-root-edge', function () {
21
- return {
22
- withRootEdge: jest.fn(),
23
- rootEdgeComponent: jest.fn()
24
- };
25
- });
26
- describe('Exponential', function () {
27
- var fnBody;
28
- var graphProps;
29
- var root;
30
- var edge;
31
- var result;
32
- beforeEach(function () {
33
- require('../component');
34
- fnBody = _withRootEdge.withRootEdge.mock.calls[0][0];
35
- graphProps = (0, _utils.graphProps)();
36
- root = xy(1, 1);
37
- edge = xy(2, 2);
38
- result = fnBody({
39
- graphProps: graphProps,
40
- root: root,
41
- edge: edge
42
- });
43
- });
44
- it('fnBody is not null', function () {
45
- expect(fnBody).toBeDefined();
46
- });
47
- it('calls buildDataPoints', function () {
48
- var _graphProps = graphProps,
49
- domain = _graphProps.domain,
50
- range = _graphProps.range;
51
- expect(_graphingUtils.buildDataPoints).toHaveBeenCalledWith(domain, range, root, edge, expect.anything(), true);
52
- });
53
- it('calls exponentialFromTwoPoints', function () {
54
- expect(_graphingUtils.exponentialFromTwoPoints).toHaveBeenCalledWith(root, edge);
55
- });
56
- it('returns dataPoints', function () {
57
- expect(result).toEqual({
58
- root: root,
59
- edge: edge,
60
- dataPoints: []
61
- });
62
- });
63
- });
64
- //# sourceMappingURL=component.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.test.js","names":["_withRootEdge","require","_graphingUtils","_plot","_utils","xy","utils","jest","mock","buildDataPoints","fn","mockReturnValue","exponentialFromTwoPoints","getAmplitudeAndFreq","freq","amplitude","withRootEdge","rootEdgeComponent","describe","fnBody","graphProps","root","edge","result","beforeEach","calls","getGraphProps","it","expect","toBeDefined","_graphProps","domain","range","toHaveBeenCalledWith","anything","toEqual","dataPoints"],"sources":["../../../../src/tools/exponential/__tests__/component.test.jsx"],"sourcesContent":["import { withRootEdge } from '../../shared/line/with-root-edge';\nimport { buildDataPoints, exponentialFromTwoPoints } from '@pie-lib/graphing-utils';\nimport { utils } from '@pie-lib/plot';\n\nimport { graphProps as getGraphProps } from '../../../__tests__/utils';\n\nconst { xy } = utils;\n\njest.mock('@pie-lib/graphing-utils', () => ({\n buildDataPoints: jest.fn().mockReturnValue([]),\n exponentialFromTwoPoints: jest.fn(() => jest.fn()),\n getAmplitudeAndFreq: jest.fn().mockReturnValue({ freq: 4, amplitude: 1 }),\n}));\n\njest.mock('../../shared/line/with-root-edge', () => ({\n withRootEdge: jest.fn(),\n rootEdgeComponent: jest.fn(),\n}));\n\ndescribe('Exponential', () => {\n let fnBody;\n let graphProps;\n let root;\n let edge;\n let result;\n\n beforeEach(() => {\n require('../component');\n fnBody = withRootEdge.mock.calls[0][0];\n graphProps = getGraphProps();\n root = xy(1, 1);\n edge = xy(2, 2);\n\n result = fnBody({ graphProps, root, edge });\n });\n\n it('fnBody is not null', () => {\n expect(fnBody).toBeDefined();\n });\n\n it('calls buildDataPoints', () => {\n const { domain, range } = graphProps;\n expect(buildDataPoints).toHaveBeenCalledWith(domain, range, root, edge, expect.anything(), true);\n });\n\n it('calls exponentialFromTwoPoints', () => {\n expect(exponentialFromTwoPoints).toHaveBeenCalledWith(root, edge);\n });\n\n it('returns dataPoints', () => {\n expect(result).toEqual({ root, edge, dataPoints: [] });\n });\n});\n"],"mappings":";;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAQI,EAAE,GAAKC,WAAK,CAAZD,EAAE;AAEVE,IAAI,CAACC,IAAI,CAAC,yBAAyB,EAAE;EAAA,OAAO;IAC1CC,eAAe,EAAEF,IAAI,CAACG,EAAE,CAAC,CAAC,CAACC,eAAe,CAAC,EAAE,CAAC;IAC9CC,wBAAwB,EAAEL,IAAI,CAACG,EAAE,CAAC;MAAA,OAAMH,IAAI,CAACG,EAAE,CAAC,CAAC;IAAA,EAAC;IAClDG,mBAAmB,EAAEN,IAAI,CAACG,EAAE,CAAC,CAAC,CAACC,eAAe,CAAC;MAAEG,IAAI,EAAE,CAAC;MAAEC,SAAS,EAAE;IAAE,CAAC;EAC1E,CAAC;AAAA,CAAC,CAAC;AAEHR,IAAI,CAACC,IAAI,CAAC,kCAAkC,EAAE;EAAA,OAAO;IACnDQ,YAAY,EAAET,IAAI,CAACG,EAAE,CAAC,CAAC;IACvBO,iBAAiB,EAAEV,IAAI,CAACG,EAAE,CAAC;EAC7B,CAAC;AAAA,CAAC,CAAC;AAEHQ,QAAQ,CAAC,aAAa,EAAE,YAAM;EAC5B,IAAIC,MAAM;EACV,IAAIC,UAAU;EACd,IAAIC,IAAI;EACR,IAAIC,IAAI;EACR,IAAIC,MAAM;EAEVC,UAAU,CAAC,YAAM;IACfvB,OAAO,CAAC,cAAc,CAAC;IACvBkB,MAAM,GAAGH,0BAAY,CAACR,IAAI,CAACiB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtCL,UAAU,GAAG,IAAAM,iBAAa,EAAC,CAAC;IAC5BL,IAAI,GAAGhB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACfiB,IAAI,GAAGjB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAEfkB,MAAM,GAAGJ,MAAM,CAAC;MAAEC,UAAU,EAAVA,UAAU;MAAEC,IAAI,EAAJA,IAAI;MAAEC,IAAI,EAAJA;IAAK,CAAC,CAAC;EAC7C,CAAC,CAAC;EAEFK,EAAE,CAAC,oBAAoB,EAAE,YAAM;IAC7BC,MAAM,CAACT,MAAM,CAAC,CAACU,WAAW,CAAC,CAAC;EAC9B,CAAC,CAAC;EAEFF,EAAE,CAAC,uBAAuB,EAAE,YAAM;IAChC,IAAAG,WAAA,GAA0BV,UAAU;MAA5BW,MAAM,GAAAD,WAAA,CAANC,MAAM;MAAEC,KAAK,GAAAF,WAAA,CAALE,KAAK;IACrBJ,MAAM,CAACnB,8BAAe,CAAC,CAACwB,oBAAoB,CAACF,MAAM,EAAEC,KAAK,EAAEX,IAAI,EAAEC,IAAI,EAAEM,MAAM,CAACM,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC;EAClG,CAAC,CAAC;EAEFP,EAAE,CAAC,gCAAgC,EAAE,YAAM;IACzCC,MAAM,CAAChB,uCAAwB,CAAC,CAACqB,oBAAoB,CAACZ,IAAI,EAAEC,IAAI,CAAC;EACnE,CAAC,CAAC;EAEFK,EAAE,CAAC,oBAAoB,EAAE,YAAM;IAC7BC,MAAM,CAACL,MAAM,CAAC,CAACY,OAAO,CAAC;MAAEd,IAAI,EAAJA,IAAI;MAAEC,IAAI,EAAJA,IAAI;MAAEc,UAAU,EAAE;IAAG,CAAC,CAAC;EACxD,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}