diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/useEditableConstraint/set-functions.test.ts b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/useEditableConstraint/set-functions.test.ts new file mode 100644 index 0000000000..f58bf19fcf --- /dev/null +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/useEditableConstraint/set-functions.test.ts @@ -0,0 +1,15 @@ +import { difference, union } from './set-functions'; + +test('union', () => { + const a = [1, 2]; + const b = new Set([2, 3]); + const c = union(a, b); + expect([...c]).toEqual([1, 2, 3]); +}); + +test('difference', () => { + const a = [1, 2]; + const b = new Set([2, 3]); + const c = difference(a, b); + expect([...c]).toEqual([1]); +}); diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/useEditableConstraint/set-functions.ts b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/useEditableConstraint/set-functions.ts index 6731854459..e9dd7232bf 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/useEditableConstraint/set-functions.ts +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/useEditableConstraint/set-functions.ts @@ -6,7 +6,7 @@ // todo: replace the use of this methods with set.union and set.difference when // it's available. -export const union = (a: Iterable, b: Set) => { +export const union = (a: Iterable, b: Set): Set => { const result = new Set(a); for (const element of b) { result.add(element); @@ -14,8 +14,8 @@ export const union = (a: Iterable, b: Set) => { return result; }; -export const difference = (a: Iterable, b: Set) => { - const result = new Set(a); +export const difference = (a: Iterable, b: Set): Set => { + const result = new Set(); for (const element of a) { if (!b.has(element)) { result.add(element);