Skip to content

Commit 10d65e4

Browse files
authored
test(form-core): add coverage for Map and Set comparison in evaluate (#2009)
Add tests for the evaluate utility function to cover Map and Set comparison logic, including edge cases for equality, empty collections, different sizes, and different values.
1 parent 200aa7e commit 10d65e4

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

packages/form-core/tests/utils.spec.ts

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -692,6 +692,67 @@ describe('evaluate', () => {
692692
const dateObjectFalse = evaluate({ date: date1 }, { date: date3 })
693693
expect(dateObjectFalse).toEqual(false)
694694
})
695+
696+
it('should test equality between Map objects', () => {
697+
const map1 = new Map([
698+
['a', 1],
699+
['b', 2],
700+
])
701+
const map2 = new Map([
702+
['a', 1],
703+
['b', 2],
704+
])
705+
expect(evaluate(map1, map2)).toEqual(true)
706+
707+
const emptyMap1 = new Map()
708+
const emptyMap2 = new Map()
709+
expect(evaluate(emptyMap1, emptyMap2)).toEqual(true)
710+
711+
const mapSmall = new Map([['a', 1]])
712+
const mapLarge = new Map([
713+
['a', 1],
714+
['b', 2],
715+
])
716+
expect(evaluate(mapSmall, mapLarge)).toEqual(false)
717+
718+
const mapA = new Map([
719+
['a', 1],
720+
['b', 2],
721+
])
722+
const mapC = new Map([
723+
['a', 1],
724+
['c', 2],
725+
])
726+
expect(evaluate(mapA, mapC)).toEqual(false)
727+
728+
const mapVal1 = new Map([
729+
['a', 1],
730+
['b', 2],
731+
])
732+
const mapVal2 = new Map([
733+
['a', 1],
734+
['b', 3],
735+
])
736+
expect(evaluate(mapVal1, mapVal2)).toEqual(false)
737+
})
738+
739+
it('should test equality between Set objects', () => {
740+
const set1 = new Set([1, 2, 3])
741+
const set2 = new Set([1, 2, 3])
742+
expect(evaluate(set1, set2)).toEqual(true)
743+
744+
const emptySet1 = new Set()
745+
const emptySet2 = new Set()
746+
expect(evaluate(emptySet1, emptySet2)).toEqual(true)
747+
748+
const setSmall = new Set([1, 2])
749+
const setLarge = new Set([1, 2, 3])
750+
expect(evaluate(setSmall, setLarge)).toEqual(false)
751+
752+
const setA = new Set([1, 2, 3])
753+
const setB = new Set([1, 2, 4])
754+
expect(evaluate(setA, setB)).toEqual(false)
755+
})
695756
})
696757

697758
describe('concatenatePaths', () => {

0 commit comments

Comments
 (0)