@@ -605,80 +605,80 @@ class CurrentValuePublisherTests: XCTestCase {
605605 XCTAssertEqual ( values, [ " 10 " , " 11 " , " 20 " , " 12 " , " 30 " , " 30 " , " 12 " ] )
606606 }
607607
608- // // ============================================================================ //
609- // // MARK: - Remove Duplicates Operator
610- // // ============================================================================ //
611- //
612- // func testRemoveDuplicates_constant() {
613- // var cancellables = Set<AnyCancellable>()
614- // var values = [Int]()
615- //
616- // CurrentValuePublisher(value: 1)
617- // .removeDuplicates()
618- // .sink { values.append($0) }
619- // .store(in: &cancellables)
620- //
621- // XCTAssertEqual(values, [1])
622- // }
623- //
624- // func testRemoveDuplicates_subject() {
625- // var cancellables = Set<AnyCancellable>()
626- // var values = [Int]()
627- //
628- // let subject = CurrentValueSubject<Int, Never>(1)
629- //
630- // CurrentValuePublisher(subject)
631- // .removeDuplicates()
632- // .sink { values.append($0) }
633- // .store(in: &cancellables)
634- //
635- // XCTAssertEqual(values, [1])
636- //
637- // subject.send(1)
638- // XCTAssertEqual(values, [1])
639- //
640- // subject.send(1)
641- // XCTAssertEqual(values, [1])
642- //
643- // subject.send(2)
644- // XCTAssertEqual(values, [1, 2])
645- //
646- // subject.send(2)
647- // XCTAssertEqual(values, [1, 2])
648- //
649- // subject.send(3)
650- // XCTAssertEqual(values, [1, 2, 3])
651- // }
652- //
653- // func testRemoveDuplicate_subject_customPredicate() {
654- // var cancellables = Set<AnyCancellable>()
655- // var values = [Int]()
656- //
657- // let subject = CurrentValueSubject<Int, Never>(1)
658- //
659- // CurrentValuePublisher(subject)
660- // .removeDuplicates(by: { old, new in new < old })
661- // .sink { values.append($0) }
662- // .store(in: &cancellables)
663- //
664- // XCTAssertEqual(values, [1])
665- //
666- // subject.send(4)
667- // XCTAssertEqual(values, [1, 4])
668- //
669- // subject.send(3)
670- // XCTAssertEqual(values, [1, 4])
671- //
672- // subject.send(6)
673- // XCTAssertEqual(values, [1, 4, 6])
674- //
675- // subject.send(2)
676- // XCTAssertEqual(values, [1, 4, 6])
677- //
678- // subject.send(7)
679- // XCTAssertEqual(values, [1, 4, 6, 7])
680- // }
681- //
608+ // ============================================================================ //
609+ // MARK: - Remove Duplicates Operator
610+ // ============================================================================ //
611+
612+ func testRemoveDuplicates_constant( ) {
613+ var cancellables = Set < AnyCancellable > ( )
614+ var values = [ Int] ( )
615+
616+ CurrentValuePublisher ( value: 1 )
617+ . removeDuplicates ( )
618+ . sink { values. append ( $0) }
619+ . store ( in: & cancellables)
620+
621+ XCTAssertEqual ( values, [ 1 ] )
622+ }
623+
624+ func testRemoveDuplicates_subject( ) {
625+ var cancellables = Set < AnyCancellable > ( )
626+ var values = [ Int] ( )
627+
628+ let subject = CurrentValueSubject < Int , Never > ( 1 )
629+
630+ CurrentValuePublisher ( subject)
631+ . removeDuplicates ( )
632+ . sink { values. append ( $0) }
633+ . store ( in: & cancellables)
634+
635+ XCTAssertEqual ( values, [ 1 ] )
636+
637+ subject. send ( 1 )
638+ XCTAssertEqual ( values, [ 1 ] )
639+
640+ subject. send ( 1 )
641+ XCTAssertEqual ( values, [ 1 ] )
642+
643+ subject. send ( 2 )
644+ XCTAssertEqual ( values, [ 1 , 2 ] )
645+
646+ subject. send ( 2 )
647+ XCTAssertEqual ( values, [ 1 , 2 ] )
648+
649+ subject. send ( 3 )
650+ XCTAssertEqual ( values, [ 1 , 2 , 3 ] )
651+ }
652+
653+ func testRemoveDuplicate_subject_customPredicate( ) {
654+ var cancellables = Set < AnyCancellable > ( )
655+ var values = [ Int] ( )
656+
657+ let subject = CurrentValueSubject < Int , Never > ( 1 )
658+
659+ CurrentValuePublisher ( subject)
660+ . removeDuplicates ( by: { old, new in new < old } )
661+ . sink { values. append ( $0) }
662+ . store ( in: & cancellables)
663+
664+ XCTAssertEqual ( values, [ 1 ] )
665+
666+ subject. send ( 4 )
667+ XCTAssertEqual ( values, [ 1 , 4 ] )
668+
669+ subject. send ( 3 )
670+ XCTAssertEqual ( values, [ 1 , 4 ] )
671+
672+ subject. send ( 6 )
673+ XCTAssertEqual ( values, [ 1 , 4 , 6 ] )
674+
675+ subject. send ( 2 )
676+ XCTAssertEqual ( values, [ 1 , 4 , 6 ] )
677+
678+ subject. send ( 7 )
679+ XCTAssertEqual ( values, [ 1 , 4 , 6 , 7 ] )
680+ }
681+
682682// // ============================================================================ //
683683// // MARK: - CombineLatest Operator
684684// // ============================================================================ //
0 commit comments