@webviz/well-completions-plot 1.7.3 → 1.7.4

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.
package/package.json CHANGED
@@ -1,31 +1,30 @@
1
1
  {
2
- "name": "@webviz/well-completions-plot",
3
- "version": "1.7.3",
4
- "description": "",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "files": [
8
- "/dist"
9
- ],
10
- "scripts": {
11
- "transpile": "tsc --project ./tsconfig.json",
12
- "copy-files": "copyfiles --up 1 \"src/**/*.css\" dist/",
13
- "build": "git clean -xdff dist && npm run transpile && npm run copy-files",
14
- "test_perf": "jest _performance",
15
- "test_correctness": "jest --coverage --testPathIgnorePatterns='_performance'",
16
- "test": "jest --coverage",
17
- "test:update": "npm test -- --u",
18
- "test:watch": "npm test -- --watch",
19
- "doc": "git clean -xdff docs && typedoc src",
20
- "semantic-release:dry-run": "semantic-release --dry-run"
21
- },
22
- "author": "Equinor <opensource@equinor.com>",
23
- "license": "MPL-2.0",
24
- "dependencies": {
25
- "react-resize-detector": "^11.0.1",
26
- "react-tooltip": "^5.28.0"
27
- },
28
- "volta": {
29
- "node": "18.19.0"
30
- }
2
+ "name": "@webviz/well-completions-plot",
3
+ "version": "1.7.4",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "/dist"
9
+ ],
10
+ "scripts": {
11
+ "transpile": "tsc --project ./tsconfig.json",
12
+ "copy-files": "copyfiles --up 1 \"src/**/*.css\" dist/",
13
+ "build": "git clean -xdff dist && npm run transpile && npm run copy-files",
14
+ "test_perf": "jest _performance",
15
+ "test_correctness": "jest --coverage --testPathIgnorePatterns='_performance'",
16
+ "test": "jest --coverage",
17
+ "test:update": "npm test -- --u",
18
+ "test:watch": "npm test -- --watch",
19
+ "doc": "git clean -xdff docs && typedoc src"
20
+ },
21
+ "author": "Equinor <opensource@equinor.com>",
22
+ "license": "MPL-2.0",
23
+ "dependencies": {
24
+ "react-resize-detector": "^11.0.1",
25
+ "react-tooltip": "^5.28.0"
26
+ },
27
+ "volta": {
28
+ "node": "20.18.3"
29
+ }
31
30
  }
@@ -1 +0,0 @@
1
- export {};
@@ -1,13 +0,0 @@
1
- import { capitalizeFirstLetter } from "./stringUtils";
2
- describe("capitalize the first letter", () => {
3
- it("should capitalize the first letter", () => {
4
- expect(capitalizeFirstLetter("a")).toEqual("A");
5
- expect(capitalizeFirstLetter("ABC")).toEqual("ABC");
6
- expect(capitalizeFirstLetter("aBC")).toEqual("ABC");
7
- expect(capitalizeFirstLetter("hello world")).toEqual("Hello world");
8
- });
9
- it("should do nothing if string is empty", () => {
10
- expect(capitalizeFirstLetter("")).toEqual("");
11
- });
12
- });
13
- //# sourceMappingURL=stringUtil.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stringUtil.test.js","sourceRoot":"","sources":["../../src/private-utils/stringUtil.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,144 +0,0 @@
1
- import { areCompletionsPlotDataValuesEqual, extractSubzones, populateSubzonesArray, } from "./dataTypeUtils";
2
- describe("areCompletionsPlotDataValuesEqual", () => {
3
- const mockData = {
4
- zoneIndex: 0,
5
- open: 1,
6
- shut: 0,
7
- khMean: 10,
8
- khMin: 5,
9
- khMax: 15,
10
- };
11
- it("should return true for equal CompletionPlotData objects", () => {
12
- const data2 = Object.assign({}, mockData);
13
- expect(areCompletionsPlotDataValuesEqual(mockData, data2)).toBe(true);
14
- });
15
- it("should return false for CompletionPlotData objects with different open values", () => {
16
- const data2 = Object.assign(Object.assign({}, mockData), { open: 0 });
17
- expect(areCompletionsPlotDataValuesEqual(mockData, data2)).toBe(false);
18
- });
19
- it("should return false for CompletionPlotData objects with different shut values", () => {
20
- const data2 = Object.assign(Object.assign({}, mockData), { shut: 1 });
21
- expect(areCompletionsPlotDataValuesEqual(mockData, data2)).toBe(false);
22
- });
23
- it("should return false for CompletionPlotData objects with different khMean values", () => {
24
- const data2 = Object.assign(Object.assign({}, mockData), { khMean: 15 });
25
- expect(areCompletionsPlotDataValuesEqual(mockData, data2)).toBe(false);
26
- });
27
- it("should return false for CompletionPlotData objects with different khMin values", () => {
28
- const data2 = Object.assign(Object.assign({}, mockData), { khMin: 10 });
29
- expect(areCompletionsPlotDataValuesEqual(mockData, data2)).toBe(false);
30
- });
31
- it("should return false for CompletionPlotData objects with different khMax values", () => {
32
- const data2 = Object.assign(Object.assign({}, mockData), { khMax: 20 });
33
- expect(areCompletionsPlotDataValuesEqual(mockData, data2)).toBe(false);
34
- });
35
- });
36
- describe("extractSubzones", () => {
37
- it("should return an empty array if the zone is undefined", () => {
38
- expect(extractSubzones(undefined)).toEqual([]);
39
- });
40
- it("should return the zone itself if it has no subzones", () => {
41
- const zone = { name: "zone1", color: "color1", subzones: [] };
42
- expect(extractSubzones(zone)).toEqual([zone]);
43
- });
44
- it("should return all subzones if the zone has subzones", () => {
45
- const subzone1 = {
46
- name: "subzone1",
47
- color: "color1.1",
48
- subzones: [],
49
- };
50
- const subzone2 = {
51
- name: "subzone2",
52
- color: "color1.2",
53
- subzones: [],
54
- };
55
- const zone = {
56
- name: "zone1",
57
- color: "color1",
58
- subzones: [subzone1, subzone2],
59
- };
60
- expect(extractSubzones(zone)).toEqual([subzone1, subzone2]);
61
- });
62
- it("should return all leaf subzones in a nested structure", () => {
63
- const leaf1 = {
64
- name: "leaf1",
65
- color: "color1.1.1",
66
- subzones: [],
67
- };
68
- const leaf2 = {
69
- name: "leaf2",
70
- color: "color1.1.2",
71
- subzones: [],
72
- };
73
- const subzone = {
74
- name: "subzone",
75
- color: "color1.1",
76
- subzones: [leaf1, leaf2],
77
- };
78
- const zone = {
79
- name: "zone",
80
- color: "color1",
81
- subzones: [subzone],
82
- };
83
- expect(extractSubzones(zone)).toEqual([leaf1, leaf2]);
84
- });
85
- });
86
- describe("populateSubzonesArray", () => {
87
- it("should not modify the array if the zone is undefined", () => {
88
- const subzonesArray = [];
89
- populateSubzonesArray(undefined, subzonesArray);
90
- expect(subzonesArray).toEqual([]);
91
- });
92
- it("should add the zone itself to the array if it has no subzones", () => {
93
- const zone = { name: "zone1", color: "color1", subzones: [] };
94
- const subzonesArray = [];
95
- populateSubzonesArray(zone, subzonesArray);
96
- expect(subzonesArray).toEqual([zone]);
97
- });
98
- it("should add all subzones to the array if the zone has subzones", () => {
99
- const subzone1 = {
100
- name: "subzone1",
101
- color: "color1.1",
102
- subzones: [],
103
- };
104
- const subzone2 = {
105
- name: "subzone2",
106
- color: "color1.2",
107
- subzones: [],
108
- };
109
- const zone = {
110
- name: "zone1",
111
- color: "color1",
112
- subzones: [subzone1, subzone2],
113
- };
114
- const subzonesArray = [];
115
- populateSubzonesArray(zone, subzonesArray);
116
- expect(subzonesArray).toEqual([subzone1, subzone2]);
117
- });
118
- it("should add all leaf subzones in a nested structure to the array", () => {
119
- const leaf1 = {
120
- name: "leaf1",
121
- color: "color1.1.1",
122
- subzones: [],
123
- };
124
- const leaf2 = {
125
- name: "leaf2",
126
- color: "color1.1.2",
127
- subzones: [],
128
- };
129
- const subzone = {
130
- name: "subzone",
131
- color: "color1.1",
132
- subzones: [leaf1, leaf2],
133
- };
134
- const zone = {
135
- name: "zone",
136
- color: "color1",
137
- subzones: [subzone],
138
- };
139
- const subzonesArray = [];
140
- populateSubzonesArray(zone, subzonesArray);
141
- expect(subzonesArray).toEqual([leaf1, leaf2]);
142
- });
143
- });
144
- //# sourceMappingURL=dataTypeUtils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataTypeUtils.test.js","sourceRoot":"","sources":["../../src/utility-lib/dataTypeUtils.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,44 +0,0 @@
1
- import { createWellNameRegexMatcher } from "./stringUtils";
2
- describe("createWellNameRegexMatcher", () => {
3
- it("should match strings starting with same characters", () => {
4
- const matcher = createWellNameRegexMatcher("A2");
5
- expect(matcher("a2")).toBe(true);
6
- expect(matcher("A2")).toBe(true);
7
- expect(matcher("R_A2")).toBe(true);
8
- });
9
- it("should handle special character '?'", () => {
10
- const matcher = createWellNameRegexMatcher("?A2");
11
- expect(matcher("RA2")).toBe(true);
12
- expect(matcher("R_A2")).toBe(true);
13
- expect(matcher("2")).toBe(false);
14
- expect(matcher("A2")).toBe(false);
15
- });
16
- it("should handle special character '*'", () => {
17
- const matcher = createWellNameRegexMatcher("*A2");
18
- expect(matcher("A2")).toBe(true);
19
- expect(matcher("RA2")).toBe(true);
20
- expect(matcher("R_A2")).toBe(true);
21
- expect(matcher("2")).toBe(false);
22
- });
23
- it("should handle escape characters", () => {
24
- const matcher = createWellNameRegexMatcher("te\\+t");
25
- expect(matcher("te+t")).toBe(true);
26
- expect(matcher("te\\+t")).toBe(false);
27
- });
28
- it("should handle mixed special and escape characters", () => {
29
- const matcher = createWellNameRegexMatcher("te?t\\+");
30
- expect(matcher("test+")).toBe(true);
31
- expect(matcher("text+")).toBe(true);
32
- expect(matcher("te!t+")).toBe(true);
33
- });
34
- it("should return true for empty pattern", () => {
35
- const matcher = createWellNameRegexMatcher("");
36
- expect(matcher("anything")).toBe(true);
37
- expect(matcher("")).toBe(true);
38
- });
39
- it("should handle invalid regex patterns gracefully", () => {
40
- const matcher = createWellNameRegexMatcher("[");
41
- expect(matcher("anything")).toBe(false);
42
- });
43
- });
44
- //# sourceMappingURL=stringUtils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stringUtils.test.js","sourceRoot":"","sources":["../../src/utility-lib/stringUtils.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,409 +0,0 @@
1
- import { createGetWellPlotDataCompareValueFunction, compareWellPlotDataValues, compareWellsBySortByAndDirection, createSortedWells, createSortedWellsFromSequence, } from "./wellSortUtils";
2
- import { SortDirection, SortWellsBy } from "../types/dataTypes";
3
- describe("createGetWellPlotDataCompareValueFunction", () => {
4
- const mockWellPlotData = {
5
- name: "Well A",
6
- completions: [
7
- { open: 0, zoneIndex: 10, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
8
- { open: 1, zoneIndex: 20, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
9
- { open: 1, zoneIndex: 15, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
10
- ],
11
- earliestCompDateIndex: 5,
12
- attributes: {},
13
- };
14
- it("should return the well name when sortWellsBy is WELL_NAME", () => {
15
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.WELL_NAME);
16
- expect(getCompareValue(mockWellPlotData)).toBe("Well A");
17
- });
18
- it("should return the zoneIndex of the first open completion when sortWellsBy is STRATIGRAPHY_DEPTH", () => {
19
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.STRATIGRAPHY_DEPTH);
20
- expect(getCompareValue(mockWellPlotData)).toEqual([15, 20]);
21
- });
22
- it("should return the earliest completion date index when sortWellsBy is EARLIEST_COMPLETION_DATE", () => {
23
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.EARLIEST_COMPLETION_DATE);
24
- expect(getCompareValue(mockWellPlotData)).toBe(5);
25
- });
26
- it("should return undefined for an unknown sortWellsBy value", () => {
27
- const getCompareValue = createGetWellPlotDataCompareValueFunction("UNKNOWN");
28
- expect(getCompareValue(mockWellPlotData)).toBeUndefined();
29
- });
30
- });
31
- describe("compareWellPlotDataValues", () => {
32
- const mockWellPlotDataA = {
33
- name: "Well A",
34
- completions: [
35
- { open: 0, zoneIndex: 10, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
36
- { open: 1, zoneIndex: 15, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
37
- { open: 1, zoneIndex: 20, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
38
- ],
39
- earliestCompDateIndex: 5,
40
- attributes: {},
41
- };
42
- const mockWellPlotDataB = {
43
- name: "Well B",
44
- completions: [
45
- { open: 1, zoneIndex: 10, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
46
- { open: 0, zoneIndex: 15, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
47
- { open: 1, zoneIndex: 25, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
48
- ],
49
- earliestCompDateIndex: 10,
50
- attributes: {},
51
- };
52
- it("should return 0 when attributes are equal", () => {
53
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.WELL_NAME);
54
- const result = compareWellPlotDataValues(mockWellPlotDataA, mockWellPlotDataA, getCompareValue, SortDirection.ASCENDING);
55
- expect(result).toBe(0);
56
- });
57
- it("should return -1 when a is less than b for ascending sort", () => {
58
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.WELL_NAME);
59
- const result = compareWellPlotDataValues(mockWellPlotDataA, mockWellPlotDataB, getCompareValue, SortDirection.ASCENDING);
60
- expect(result).toBe(-1);
61
- });
62
- it("should return 1 when a is greater than b for ascending sort", () => {
63
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.WELL_NAME);
64
- const result = compareWellPlotDataValues(mockWellPlotDataB, mockWellPlotDataA, getCompareValue, SortDirection.ASCENDING);
65
- expect(result).toBe(1);
66
- });
67
- it("should return 1 when a is less than b for descending sort", () => {
68
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.WELL_NAME);
69
- const result = compareWellPlotDataValues(mockWellPlotDataA, mockWellPlotDataB, getCompareValue, SortDirection.DESCENDING);
70
- expect(result).toBe(1);
71
- });
72
- it("should return -1 when a is greater than b for descending sort", () => {
73
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.WELL_NAME);
74
- const result = compareWellPlotDataValues(mockWellPlotDataB, mockWellPlotDataA, getCompareValue, SortDirection.DESCENDING);
75
- expect(result).toBe(-1);
76
- });
77
- it("should handle undefined attributes correctly", () => {
78
- const getCompareValue = createGetWellPlotDataCompareValueFunction("UNKNOWN");
79
- // Both are undefined
80
- const result = compareWellPlotDataValues(mockWellPlotDataA, mockWellPlotDataB, getCompareValue, SortDirection.ASCENDING);
81
- expect(result).toBe(0);
82
- });
83
- it("should handle array comparison correctly for ascending sort", () => {
84
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.STRATIGRAPHY_DEPTH);
85
- const result = compareWellPlotDataValues(mockWellPlotDataA, mockWellPlotDataB, getCompareValue, SortDirection.ASCENDING);
86
- expect(result).toBe(1);
87
- });
88
- it("should handle array comparison correctly for descending sort", () => {
89
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.STRATIGRAPHY_DEPTH);
90
- const result = compareWellPlotDataValues(mockWellPlotDataA, mockWellPlotDataB, getCompareValue, SortDirection.DESCENDING);
91
- expect(result).toBe(-1);
92
- });
93
- it("should handle empty arrays correctly", () => {
94
- const mockWellPlotDataEmptyA = Object.assign(Object.assign({}, mockWellPlotDataA), { completions: [] });
95
- const mockWellPlotDataEmptyB = Object.assign(Object.assign({}, mockWellPlotDataB), { completions: [] });
96
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.STRATIGRAPHY_DEPTH);
97
- const result = compareWellPlotDataValues(mockWellPlotDataEmptyA, mockWellPlotDataEmptyB, getCompareValue, SortDirection.ASCENDING);
98
- expect(result).toBe(0);
99
- });
100
- it("should handle mixed empty and non-empty arrays correctly", () => {
101
- const mockWellPlotDataEmpty = Object.assign(Object.assign({}, mockWellPlotDataA), { completions: [] });
102
- const getCompareValue = createGetWellPlotDataCompareValueFunction(SortWellsBy.STRATIGRAPHY_DEPTH);
103
- const result = compareWellPlotDataValues(mockWellPlotDataEmpty, mockWellPlotDataB, getCompareValue, SortDirection.ASCENDING);
104
- expect(result).toBe(1);
105
- });
106
- });
107
- describe("compareWellsBySortByAndDirection", () => {
108
- const mockWellPlotDataA = {
109
- name: "Well A",
110
- completions: [
111
- { open: 0, zoneIndex: 10, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
112
- { open: 1, zoneIndex: 15, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
113
- { open: 1, zoneIndex: 20, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
114
- ],
115
- earliestCompDateIndex: 5,
116
- attributes: {},
117
- };
118
- const mockWellPlotDataB = {
119
- name: "Well B",
120
- completions: [
121
- { open: 1, zoneIndex: 10, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
122
- { open: 0, zoneIndex: 15, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
123
- { open: 1, zoneIndex: 25, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
124
- ],
125
- earliestCompDateIndex: 10,
126
- attributes: {},
127
- };
128
- it("should return 0 when attributes are equal", () => {
129
- const result = compareWellsBySortByAndDirection(mockWellPlotDataA, mockWellPlotDataA, SortWellsBy.WELL_NAME, SortDirection.ASCENDING);
130
- expect(result).toBe(0);
131
- });
132
- it("should return -1 when a is less than b for ascending sort", () => {
133
- const result = compareWellsBySortByAndDirection(mockWellPlotDataA, mockWellPlotDataB, SortWellsBy.WELL_NAME, SortDirection.ASCENDING);
134
- expect(result).toBe(-1);
135
- });
136
- it("should return 1 when a is greater than b for ascending sort", () => {
137
- const result = compareWellsBySortByAndDirection(mockWellPlotDataB, mockWellPlotDataA, SortWellsBy.WELL_NAME, SortDirection.ASCENDING);
138
- expect(result).toBe(1);
139
- });
140
- it("should return 1 when a is less than b for descending sort", () => {
141
- const result = compareWellsBySortByAndDirection(mockWellPlotDataA, mockWellPlotDataB, SortWellsBy.WELL_NAME, SortDirection.DESCENDING);
142
- expect(result).toBe(1);
143
- });
144
- it("should return -1 when a is greater than b for descending sort", () => {
145
- const result = compareWellsBySortByAndDirection(mockWellPlotDataB, mockWellPlotDataA, SortWellsBy.WELL_NAME, SortDirection.DESCENDING);
146
- expect(result).toBe(-1);
147
- });
148
- it("should handle undefined attributes correctly", () => {
149
- const result = compareWellsBySortByAndDirection(mockWellPlotDataA, mockWellPlotDataB, "UNKNOWN", SortDirection.ASCENDING);
150
- expect(result).toBe(0);
151
- });
152
- it("should handle array comparison correctly for ascending sort", () => {
153
- const result = compareWellsBySortByAndDirection(mockWellPlotDataA, mockWellPlotDataB, SortWellsBy.STRATIGRAPHY_DEPTH, SortDirection.ASCENDING);
154
- expect(result).toBe(1);
155
- });
156
- it("should handle array comparison correctly for descending sort", () => {
157
- const result = compareWellsBySortByAndDirection(mockWellPlotDataA, mockWellPlotDataB, SortWellsBy.STRATIGRAPHY_DEPTH, SortDirection.DESCENDING);
158
- expect(result).toBe(-1);
159
- });
160
- it("should handle empty arrays correctly", () => {
161
- const mockWellPlotDataEmptyA = Object.assign(Object.assign({}, mockWellPlotDataA), { completions: [] });
162
- const mockWellPlotDataEmptyB = Object.assign(Object.assign({}, mockWellPlotDataB), { completions: [] });
163
- const result = compareWellsBySortByAndDirection(mockWellPlotDataEmptyA, mockWellPlotDataEmptyB, SortWellsBy.STRATIGRAPHY_DEPTH, SortDirection.ASCENDING);
164
- expect(result).toBe(0);
165
- });
166
- it("should handle mixed empty and non-empty arrays correctly", () => {
167
- const mockWellPlotDataEmpty = Object.assign(Object.assign({}, mockWellPlotDataA), { completions: [] });
168
- const result = compareWellsBySortByAndDirection(mockWellPlotDataEmpty, mockWellPlotDataB, SortWellsBy.STRATIGRAPHY_DEPTH, SortDirection.ASCENDING);
169
- expect(result).toBe(1);
170
- });
171
- });
172
- describe("createSortedWells", () => {
173
- const mockWellPlotDataA = {
174
- name: "Well A",
175
- completions: [
176
- { open: 0, zoneIndex: 10, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
177
- { open: 1, zoneIndex: 20, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
178
- ],
179
- earliestCompDateIndex: 5,
180
- attributes: {},
181
- };
182
- const mockWellPlotDataB = {
183
- name: "Well B",
184
- completions: [
185
- { open: 0, zoneIndex: 15, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
186
- { open: 1, zoneIndex: 25, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
187
- ],
188
- earliestCompDateIndex: 10,
189
- attributes: {},
190
- };
191
- const mockWellPlotDataC = {
192
- name: "Well C",
193
- completions: [
194
- { open: 0, zoneIndex: 5, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
195
- { open: 1, zoneIndex: 15, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
196
- ],
197
- earliestCompDateIndex: 1,
198
- attributes: {},
199
- };
200
- const mockWellPlotDataNeverOpen = {
201
- name: "Well Never Open",
202
- completions: [
203
- { open: 0, zoneIndex: 15, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
204
- { open: 0, zoneIndex: 25, khMean: 0, khMin: 0, khMax: 0, shut: 0 },
205
- ],
206
- earliestCompDateIndex: 1,
207
- attributes: {},
208
- };
209
- it("should sort wells by WELL_NAME in ascending order", () => {
210
- const sortedWells = createSortedWells([mockWellPlotDataB, mockWellPlotDataA, mockWellPlotDataC], SortWellsBy.WELL_NAME, SortDirection.ASCENDING);
211
- expect(sortedWells).toEqual([
212
- mockWellPlotDataA,
213
- mockWellPlotDataB,
214
- mockWellPlotDataC,
215
- ]);
216
- });
217
- it("should sort wells by WELL_NAME in descending order", () => {
218
- const sortedWells = createSortedWells([mockWellPlotDataA, mockWellPlotDataB, mockWellPlotDataC], SortWellsBy.WELL_NAME, SortDirection.DESCENDING);
219
- expect(sortedWells).toEqual([
220
- mockWellPlotDataC,
221
- mockWellPlotDataB,
222
- mockWellPlotDataA,
223
- ]);
224
- });
225
- it("should sort wells by STRATIGRAPHY_DEPTH in ascending order", () => {
226
- const sortedWells = createSortedWells([
227
- mockWellPlotDataB,
228
- mockWellPlotDataA,
229
- mockWellPlotDataNeverOpen,
230
- mockWellPlotDataC,
231
- ], SortWellsBy.STRATIGRAPHY_DEPTH, SortDirection.ASCENDING);
232
- expect(sortedWells).toEqual([
233
- mockWellPlotDataC,
234
- mockWellPlotDataA,
235
- mockWellPlotDataB,
236
- mockWellPlotDataNeverOpen,
237
- ]);
238
- });
239
- it("should sort wells by STRATIGRAPHY_DEPTH in descending order", () => {
240
- const sortedWells = createSortedWells([
241
- mockWellPlotDataA,
242
- mockWellPlotDataB,
243
- mockWellPlotDataNeverOpen,
244
- mockWellPlotDataC,
245
- ], SortWellsBy.STRATIGRAPHY_DEPTH, SortDirection.DESCENDING);
246
- expect(sortedWells).toEqual([
247
- mockWellPlotDataNeverOpen,
248
- mockWellPlotDataB,
249
- mockWellPlotDataA,
250
- mockWellPlotDataC,
251
- ]);
252
- });
253
- it("should sort wells by EARLIEST_COMPLETION_DATE in ascending order", () => {
254
- const sortedWells = createSortedWells([mockWellPlotDataB, mockWellPlotDataA, mockWellPlotDataC], SortWellsBy.EARLIEST_COMPLETION_DATE, SortDirection.ASCENDING);
255
- expect(sortedWells).toEqual([
256
- mockWellPlotDataC,
257
- mockWellPlotDataA,
258
- mockWellPlotDataB,
259
- ]);
260
- });
261
- it("should sort wells by EARLIEST_COMPLETION_DATE in descending order", () => {
262
- const sortedWells = createSortedWells([mockWellPlotDataA, mockWellPlotDataB, mockWellPlotDataC], SortWellsBy.EARLIEST_COMPLETION_DATE, SortDirection.DESCENDING);
263
- expect(sortedWells).toEqual([
264
- mockWellPlotDataB,
265
- mockWellPlotDataA,
266
- mockWellPlotDataC,
267
- ]);
268
- });
269
- });
270
- describe("createSortedWellsFromSequence", () => {
271
- const mockWellPlotDataA = {
272
- name: "Well A",
273
- completions: [
274
- {
275
- open: 0,
276
- zoneIndex: 10,
277
- khMean: 0,
278
- khMin: 0,
279
- khMax: 0,
280
- shut: 0,
281
- },
282
- {
283
- open: 1,
284
- zoneIndex: 20,
285
- khMean: 0,
286
- khMin: 0,
287
- khMax: 0,
288
- shut: 0,
289
- },
290
- ],
291
- earliestCompDateIndex: 10,
292
- attributes: {},
293
- };
294
- const mockWellPlotDataB = {
295
- name: "Well B",
296
- completions: [
297
- {
298
- open: 0,
299
- zoneIndex: 15,
300
- khMean: 0,
301
- khMin: 0,
302
- khMax: 0,
303
- shut: 0,
304
- },
305
- {
306
- open: 1,
307
- zoneIndex: 25,
308
- khMean: 0,
309
- khMin: 0,
310
- khMax: 0,
311
- shut: 0,
312
- },
313
- ],
314
- earliestCompDateIndex: 5,
315
- attributes: {},
316
- };
317
- const mockWellPlotDataC = {
318
- name: "Well C",
319
- completions: [
320
- {
321
- open: 0,
322
- zoneIndex: 5,
323
- khMean: 0,
324
- khMin: 0,
325
- khMax: 0,
326
- shut: 0,
327
- },
328
- {
329
- open: 1,
330
- zoneIndex: 15,
331
- khMean: 0,
332
- khMin: 0,
333
- khMax: 0,
334
- shut: 0,
335
- },
336
- ],
337
- earliestCompDateIndex: 1,
338
- attributes: {},
339
- };
340
- const mockWellPlotDataD = {
341
- name: "Well D",
342
- completions: [
343
- {
344
- open: 0,
345
- zoneIndex: 15,
346
- khMean: 0,
347
- khMin: 0,
348
- khMax: 0,
349
- shut: 0,
350
- },
351
- {
352
- open: 1,
353
- zoneIndex: 25,
354
- khMean: 0,
355
- khMin: 0,
356
- khMax: 0,
357
- shut: 0,
358
- },
359
- ],
360
- earliestCompDateIndex: 1,
361
- attributes: {},
362
- };
363
- it("should sort wells by multiple criteria in the specified order", () => {
364
- const sortWellsBySelections = new Map([
365
- [SortWellsBy.WELL_NAME, SortDirection.ASCENDING],
366
- [SortWellsBy.STRATIGRAPHY_DEPTH, SortDirection.DESCENDING],
367
- ]);
368
- const sortedWells = createSortedWellsFromSequence([mockWellPlotDataB, mockWellPlotDataA, mockWellPlotDataC], sortWellsBySelections);
369
- expect(sortedWells).toEqual([
370
- mockWellPlotDataA,
371
- mockWellPlotDataB,
372
- mockWellPlotDataC,
373
- ]);
374
- });
375
- it("should sort wells by multiple criteria in descending order", () => {
376
- const sortWellsBySelections = new Map([
377
- [SortWellsBy.EARLIEST_COMPLETION_DATE, SortDirection.ASCENDING],
378
- [SortWellsBy.WELL_NAME, SortDirection.DESCENDING],
379
- ]);
380
- const sortedWells = createSortedWellsFromSequence([
381
- mockWellPlotDataA,
382
- mockWellPlotDataB,
383
- mockWellPlotDataC,
384
- mockWellPlotDataD,
385
- ], sortWellsBySelections);
386
- expect(sortedWells).toEqual([
387
- mockWellPlotDataD,
388
- mockWellPlotDataC,
389
- mockWellPlotDataB,
390
- mockWellPlotDataA,
391
- ]);
392
- });
393
- it("should handle empty wells array", () => {
394
- const sortWellsBySelections = new Map([
395
- [SortWellsBy.WELL_NAME, SortDirection.ASCENDING],
396
- [SortWellsBy.STRATIGRAPHY_DEPTH, SortDirection.ASCENDING],
397
- ]);
398
- const sortedWells = createSortedWellsFromSequence([], sortWellsBySelections);
399
- expect(sortedWells).toEqual([]);
400
- });
401
- it("should handle single well in array", () => {
402
- const sortWellsBySelections = new Map([
403
- [SortWellsBy.WELL_NAME, SortDirection.ASCENDING],
404
- ]);
405
- const sortedWells = createSortedWellsFromSequence([mockWellPlotDataA], sortWellsBySelections);
406
- expect(sortedWells).toEqual([mockWellPlotDataA]);
407
- });
408
- });
409
- //# sourceMappingURL=wellSortUtils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wellSortUtils.test.js","sourceRoot":"","sources":["../../src/utility-lib/wellSortUtils.test.ts"],"names":[],"mappings":"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"}