@@ -259,7 +259,7 @@ describe('DeepMap', () => {
259259 } ) ;
260260
261261 describe ( 'union method' , ( ) => {
262- it ( 'the union of two maps contains all unique keys and associated values ' , async ( ) => {
262+ it ( 'the union of two maps contains all key-value pairs from first map and any unique keys from second map ' , async ( ) => {
263263 const map1 = new DeepMap ( [
264264 [ new K ( '1' ) , new V ( '1' ) ] ,
265265 [ new K ( '2' ) , new V ( '2' ) ] ,
@@ -293,19 +293,19 @@ describe('DeepMap', () => {
293293 } ) ;
294294
295295 describe ( 'intersection method' , ( ) => {
296- it ( 'the intersection of two maps contains all shared keys and associated values ' , async ( ) => {
296+ it ( 'the intersection of two maps contains all shared key-value pairs ' , async ( ) => {
297297 const map1 = new DeepMap ( [
298298 [ new K ( '1' ) , new V ( '1' ) ] ,
299299 [ new K ( '2' ) , new V ( '2' ) ] ,
300+ [ new K ( '3' ) , new V ( '3' ) ] ,
300301 ] ) ;
301302 const map2 = new DeepMap ( [
302- [ new K ( '2' ) , new V ( '999' ) ] ,
303- [ new K ( '3' ) , new V ( '3' ) ] ,
303+ [ new K ( '1' ) , new V ( '1' ) ] ,
304+ [ new K ( '2' ) , new V ( '999' ) ] , // same key but different value -- not a match
305+ [ new K ( '4' ) , new V ( '4' ) ] ,
304306 ] ) ;
305307 const intersectionMap = map1 . intersection ( map2 ) ;
306- expect ( [ ...intersectionMap . entries ( ) ] ) . toStrictEqual ( [
307- [ new K ( '2' ) , new V ( '2' ) ] , // value for common key is the value from the caller
308- ] ) ;
308+ expect ( [ ...intersectionMap . entries ( ) ] ) . toStrictEqual ( [ [ new K ( '1' ) , new V ( '1' ) ] ] ) ;
309309 } ) ;
310310
311311 it ( 'the intersection of equal maps is the same as either input' , async ( ) => {
@@ -325,18 +325,21 @@ describe('DeepMap', () => {
325325 } ) ;
326326
327327 describe ( 'difference method' , ( ) => {
328- it ( 'the difference of two maps contains all keys from first map not in second' , async ( ) => {
328+ it ( 'the difference of two maps contains all key-value pairs from first map not in second' , async ( ) => {
329329 const map1 = new DeepMap ( [
330330 [ new K ( '1' ) , new V ( '1' ) ] ,
331331 [ new K ( '2' ) , new V ( '2' ) ] ,
332+ [ new K ( '3' ) , new V ( '3' ) ] ,
332333 ] ) ;
333334 const map2 = new DeepMap ( [
334- [ new K ( '2' ) , new V ( '999' ) ] ,
335- [ new K ( '3' ) , new V ( '3' ) ] ,
335+ [ new K ( '1' ) , new V ( '1' ) ] ,
336+ [ new K ( '2' ) , new V ( '999' ) ] , // same key but different value -- not a match
337+ [ new K ( '4' ) , new V ( '4' ) ] ,
336338 ] ) ;
337339 const differenceMap = map1 . difference ( map2 ) ;
338340 expect ( [ ...differenceMap . entries ( ) ] ) . toStrictEqual ( [
339- [ new K ( '1' ) , new V ( '1' ) ] , // value for common key is the value from the caller
341+ [ new K ( '2' ) , new V ( '2' ) ] ,
342+ [ new K ( '3' ) , new V ( '3' ) ] ,
340343 ] ) ;
341344 } ) ;
342345
0 commit comments