@@ -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
697758describe ( 'concatenatePaths' , ( ) => {
0 commit comments