1+ import { sequenceOf } from "../src/Sequence" ;
2+
3+ describe ( "merge" , ( ) => {
4+ it ( "should merge both sequences" , ( ) => {
5+ const result = sequenceOf ( { id : 1 , val : "a" } , { id : 2 , val : "b" } , { id : 3 , val : "c" } )
6+ . merge ( sequenceOf ( { id : 2 , val : "bb" } ) , it => it . id )
7+ . toArray ( ) ;
8+ expect ( result ) . toEqual ( [ { id : 1 , val : "a" } , { id : 2 , val : "bb" } , { id : 3 , val : "c" } ] ) ;
9+ } ) ;
10+
11+ it ( "should merge given array" , ( ) => {
12+ const result = sequenceOf ( { id : 1 , val : "a" } , { id : 2 , val : "b" } , { id : 3 , val : "c" } )
13+ . merge ( [ { id : 2 , val : "bb" } ] , it => it . id )
14+ . toArray ( ) ;
15+ expect ( result ) . toEqual ( [ { id : 1 , val : "a" } , { id : 2 , val : "bb" } , { id : 3 , val : "c" } ] ) ;
16+ } ) ;
17+
18+ it ( "should merge both sequences and append new values" , ( ) => {
19+ const result = sequenceOf ( { id : 1 , val : "a" } , { id : 2 , val : "b" } , { id : 3 , val : "c" } )
20+ . merge ( sequenceOf ( { id : 2 , val : "bb" } , { id : 4 , val : "d" } ) , it => it . id )
21+ . toArray ( ) ;
22+ expect ( result ) . toEqual ( [ { id : 1 , val : "a" } , { id : 2 , val : "bb" } , { id : 3 , val : "c" } , { id : 4 , val : "d" } ] ) ;
23+ } ) ;
24+
25+ it ( "should merge both sequences and prepend new values" , ( ) => {
26+ const result = sequenceOf ( { id : 1 , val : "a" } , { id : 2 , val : "b" } , { id : 3 , val : "c" } )
27+ . merge ( sequenceOf ( { id : 2 , val : "bb" } , { id : 4 , val : "d" } ) , it => it . id , true )
28+ . toArray ( ) ;
29+ expect ( result ) . toEqual ( [ { id : 4 , val : "d" } , { id : 1 , val : "a" } , { id : 2 , val : "bb" } , { id : 3 , val : "c" } ] ) ;
30+ } ) ;
31+ } ) ;
0 commit comments