@@ -1859,7 +1859,44 @@ def test_optimize_unary_not(self):
1859
1859
self .cfg_optimization_test (before , after , consts = [], expected_consts = [])
1860
1860
1861
1861
def test_optimize_if_const_unaryop (self ):
1862
- pass
1862
+ # test unary negative
1863
+ before = [
1864
+ ('LOAD_SMALL_INT' , 2 , 0 ),
1865
+ ('UNARY_NEGATIVE' , None , 0 ),
1866
+ ('UNARY_NEGATIVE' , None , 0 ),
1867
+ ('RETURN_VALUE' , None , 0 )
1868
+ ]
1869
+ after = [
1870
+ ('LOAD_SMALL_INT' , 2 , 0 ),
1871
+ ('RETURN_VALUE' , None , 0 ),
1872
+ ]
1873
+ self .cfg_optimization_test (before , after , consts = [], expected_consts = [- 2 ])
1874
+
1875
+ # test unary invert
1876
+ before = [
1877
+ ('LOAD_SMALL_INT' , 2 , 0 ),
1878
+ ('UNARY_INVERT' , None , 0 ),
1879
+ ('UNARY_INVERT' , None , 0 ),
1880
+ ('RETURN_VALUE' , None , 0 )
1881
+ ]
1882
+ after = [
1883
+ ('LOAD_SMALL_INT' , 2 , 0 ),
1884
+ ('RETURN_VALUE' , None , 0 ),
1885
+ ]
1886
+ self .cfg_optimization_test (before , after , consts = [], expected_consts = [- 3 ])
1887
+
1888
+ # test unary positive
1889
+ before = [
1890
+ ('LOAD_SMALL_INT' , 2 , 0 ),
1891
+ ('CALL_INTRINSIC_1' , 5 , 0 ),
1892
+ ('CALL_INTRINSIC_1' , 5 , 0 ),
1893
+ ('RETURN_VALUE' , None , 0 )
1894
+ ]
1895
+ after = [
1896
+ ('LOAD_SMALL_INT' , 2 , 0 ),
1897
+ ('RETURN_VALUE' , None , 0 ),
1898
+ ]
1899
+ self .cfg_optimization_test (before , after , consts = [], expected_consts = [])
1863
1900
1864
1901
def test_optimize_if_const_binop (self ):
1865
1902
add = get_binop_argval ('NB_ADD' )
0 commit comments