             when(mock.optionalProperty.set(anyInt())).then { _ in
                 when(mock.optionalProperty.get).thenReturn(10)
             }
+            when(mock.optionalProperty.set(eq(1))).then { _ in
+                when(mock.optionalProperty.get).thenReturn(1)
+            }
             
             when(mock.noParameter()).thenReturn()
             when(mock.countCharacters("hello")).thenReturn(1000)

            when(mock.optionalProperty.set(anyInt())).then { _ in
                when(mock.optionalProperty.get).thenReturn(10)
            }
            
            when(mock.noParameter()).thenReturn()
            when(mock.countCharacters("hello")).thenReturn(1000)

        
        mock.optionalProperty = nil
        XCTAssertNil(mock.optionalProperty)
        mock.optionalProperty = 5
        XCTAssertEqual(mock.optionalProperty, 10)
        mock.optionalProperty = 1
        XCTAssertEqual(mock.optionalProperty, 1)
        
        mock.noParameter()
        
