@@ -870,3 +870,159 @@ end
870870@test ! islowercase (' A' )
871871@test uppercasefirst (" qwerty" ) == " Qwerty"
872872@test lowercasefirst (" Qwerty" ) == " qwerty"
873+
874+ # 0.7.0-DEV.4064
875+ # some tests are behind a version check below because Julia gave
876+ # the wrong result between 0.7.0-DEV.3262 and 0.7.0-DEV.4646
877+ # see https://github.com/JuliaLang/julia/issues/26488
878+ Issue26488 = VERSION < v " 0.7.0-DEV.3262" || VERSION >= v " 0.7.0-DEV.4646"
879+ @test Compat. Statistics. mean ([1 2 ; 3 4 ]) == 2.5
880+ @test Compat. Statistics. mean ([1 2 ; 3 4 ], dims= 1 ) == [2 3 ]
881+ @test Compat. Statistics. mean ([1 2 ; 3 4 ], dims= 2 ) == hcat ([1.5 ; 3.5 ])
882+ @test Compat. cumsum ([1 2 ; 3 4 ], dims= 1 ) == [1 2 ; 4 6 ]
883+ @test Compat. cumsum ([1 2 ; 3 4 ], dims= 2 ) == [1 3 ; 3 7 ]
884+ @test Compat. cumprod ([1 2 ; 3 4 ], dims= 1 ) == [1 2 ; 3 8 ]
885+ @test Compat. cumprod ([1 2 ; 3 4 ], dims= 2 ) == [1 2 ; 3 12 ]
886+ @test Compat. sum ([1 2 ; 3 4 ]) == 10
887+ @test Compat. sum ([1 2 ; 3 4 ], dims= 1 ) == [4 6 ]
888+ @test Compat. sum ([1 2 ; 3 4 ], dims= 2 ) == hcat ([3 ; 7 ])
889+ @test Compat. sum (x -> x+ 1 , [1 2 ; 3 4 ]) == 14
890+ Issue26488 && @test Compat. sum (x -> x+ 1 , [1 2 ; 3 4 ], dims= 1 ) == [6 8 ]
891+ Issue26488 && @test Compat. sum (x -> x+ 1 , [1 2 ; 3 4 ], dims= 2 ) == hcat ([5 ; 9 ])
892+ @test Compat. prod ([1 2 ; 3 4 ]) == 24
893+ @test Compat. prod ([1 2 ; 3 4 ], dims= 1 ) == [3 8 ]
894+ @test Compat. prod ([1 2 ; 3 4 ], dims= 2 ) == hcat ([2 ; 12 ])
895+ @test Compat. prod (x -> x+ 1 , [1 2 ; 3 4 ]) == 120
896+ Issue26488 && @test Compat. prod (x -> x+ 1 , [1 2 ; 3 4 ], dims= 1 ) == [8 15 ]
897+ Issue26488 && @test Compat. prod (x -> x+ 1 , [1 2 ; 3 4 ], dims= 2 ) == hcat ([6 ; 20 ])
898+ @test Compat. maximum ([1 2 ; 3 4 ]) == 4
899+ @test Compat. maximum ([1 2 ; 3 4 ], dims= 1 ) == [3 4 ]
900+ @test Compat. maximum ([1 2 ; 3 4 ], dims= 2 ) == hcat ([2 ; 4 ])
901+ @test Compat. maximum (x -> x+ 1 , [1 2 ; 3 4 ]) == 5
902+ @test Compat. maximum (x -> x+ 1 , [1 2 ; 3 4 ], dims= 1 ) == [4 5 ]
903+ @test Compat. maximum (x -> x+ 1 , [1 2 ; 3 4 ], dims= 2 ) == hcat ([3 ; 5 ])
904+ @test Compat. minimum ([1 2 ; 3 4 ]) == 1
905+ @test Compat. minimum ([1 2 ; 3 4 ], dims= 1 ) == [1 2 ]
906+ @test Compat. minimum ([1 2 ; 3 4 ], dims= 2 ) == hcat ([1 ; 3 ])
907+ @test Compat. minimum (x -> x+ 1 , [1 2 ; 3 4 ]) == 2
908+ @test Compat. minimum (x -> x+ 1 , [1 2 ; 3 4 ], dims= 1 ) == [2 3 ]
909+ @test Compat. minimum (x -> x+ 1 , [1 2 ; 3 4 ], dims= 2 ) == hcat ([2 ; 4 ])
910+ @test Compat. all ([true false ; true false ]) == false
911+ @test Compat. all ([true false ; true false ], dims= 1 ) == [true false ]
912+ @test Compat. all ([true false ; true false ], dims= 2 ) == hcat ([false ; false ])
913+ @test Compat. all (isodd, [1 2 ; 3 4 ]) == false
914+ @test Compat. all (isodd, [1 2 ; 3 4 ], dims= 1 ) == [true false ]
915+ @test Compat. all (isodd, [1 2 ; 3 4 ], dims= 2 ) == hcat ([false ; false ])
916+ @test Compat. any ([true false ; true false ]) == true
917+ @test Compat. any ([true false ; true false ], dims= 1 ) == [true false ]
918+ @test Compat. any ([true false ; true false ], dims= 2 ) == hcat ([true ; true ])
919+ @test Compat. any (isodd, [1 2 ; 3 4 ]) == true
920+ @test Compat. any (isodd, [1 2 ; 3 4 ], dims= 1 ) == [true false ]
921+ @test Compat. any (isodd, [1 2 ; 3 4 ], dims= 2 ) == hcat ([true ; true ])
922+ @test Compat. findmax ([3 , 2 , 7 , 4 ]) == (7 , 3 )
923+ @test Compat. findmax ([3 , 2 , 7 , 4 ], dims= 1 ) == ([7 ], [3 ])
924+ @test Compat. findmax ([1 2 ; 3 4 ], dims= 1 ) == ([3 4 ], [CartesianIndex (2 , 1 ) CartesianIndex (2 , 2 )])
925+ @test Compat. findmax ([1 2 ; 3 4 ]) == (4 , CartesianIndex (2 , 2 ))
926+ @test Compat. findmax ([1 2 ; 3 4 ], dims= 1 ) == ([3 4 ], [CartesianIndex (2 , 1 ) CartesianIndex (2 , 2 )])
927+ @test Compat. findmax ([1 2 ; 3 4 ], dims= 2 ) == (hcat ([2 ; 4 ]), hcat ([CartesianIndex (1 , 2 ); CartesianIndex (2 , 2 )]))
928+ @test Compat. findmin ([3 , 2 , 7 , 4 ]) == (2 , 2 )
929+ @test Compat. findmin ([3 , 2 , 7 , 4 ], dims= 1 ) == ([2 ], [2 ])
930+ @test Compat. findmin ([1 2 ; 3 4 ]) == (1 , CartesianIndex (1 , 1 ))
931+ @test Compat. findmin ([1 2 ; 3 4 ], dims= 1 ) == ([1 2 ], [CartesianIndex (1 , 1 ) CartesianIndex (1 , 2 )])
932+ @test Compat. findmin ([1 2 ; 3 4 ], dims= 2 ) == (hcat ([1 ; 3 ]), hcat ([CartesianIndex (1 , 1 ); CartesianIndex (2 , 1 )]))
933+ if VERSION < v " 0.7.0-DEV.5238"
934+ # Test these functions if their counterparts are defined in Base. In the future, this
935+ # will be dealt with in StatsBase
936+ @test Compat. Statistics. varm ([1 2 ; 3 4 ], - 1 ) == 18
937+ @test Compat. Statistics. varm ([1 2 ; 3 4 ], [- 1 - 2 ], dims= 1 ) == [20 52 ]
938+ @test Compat. Statistics. varm ([1 2 ; 3 4 ], [- 1 , - 2 ], dims= 2 ) == hcat ([13 , 61 ])
939+ @test Compat. Statistics. var ([1 2 ; 3 4 ]) == 5 / 3
940+ @test Compat. Statistics. var ([1 2 ; 3 4 ], dims= 1 ) == [2 2 ]
941+ @test Compat. Statistics. var ([1 2 ; 3 4 ], dims= 2 ) == hcat ([0.5 , 0.5 ])
942+ @test Compat. Statistics. var ([1 2 ; 3 4 ], corrected= false ) == 1.25
943+ @test Compat. Statistics. var ([1 2 ; 3 4 ], corrected= false , dims= 1 ) == [1 1 ]
944+ @test Compat. Statistics. var ([1 2 ; 3 4 ], corrected= false , dims= 2 ) == hcat ([0.25 , 0.25 ])
945+ @test Compat. Statistics. std ([1 2 ; 3 4 ]) == sqrt (5 / 3 )
946+ @test Compat. Statistics. std ([1 2 ; 3 4 ], dims= 1 ) == [sqrt (2 ) sqrt (2 )]
947+ @test Compat. Statistics. std ([1 2 ; 3 4 ], dims= 2 ) == hcat ([sqrt (0.5 ), sqrt (0.5 )])
948+ @test Compat. Statistics. std ([1 2 ; 3 4 ], corrected= false ) == sqrt (1.25 )
949+ @test Compat. Statistics. std ([1 2 ; 3 4 ], corrected= false , dims= 1 ) == [sqrt (1 ) sqrt (1 )]
950+ @test Compat. Statistics. std ([1 2 ; 3 4 ], corrected= false , dims= 2 ) == hcat ([sqrt (0.25 ), sqrt (0.25 )])
951+ @test Compat. Statistics. cov ([1 2 ; 3 4 ]) == [2 2 ; 2 2 ]
952+ @test Compat. Statistics. cov ([1 2 ; 3 4 ], dims= 1 ) == [2 2 ; 2 2 ]
953+ @test Compat. Statistics. cov ([1 2 ; 3 4 ], dims= 2 ) == [0.5 0.5 ; 0.5 0.5 ]
954+ @test Compat. Statistics. cov ([1 2 ; 3 4 ], [4 ; 5 ]) == hcat ([1 ; 1 ])
955+ @test Compat. Statistics. cov ([1 2 ; 3 4 ], [4 ; 5 ], dims= 1 ) == hcat ([1 ; 1 ])
956+ @test Compat. Statistics. cov ([1 2 ; 3 4 ], [4 ; 5 ], dims= 2 ) == hcat ([0.5 ; 0.5 ])
957+ @test Compat. Statistics. cov ([1 2 ; 3 4 ], [4 ; 5 ], corrected= false ) == hcat ([0.5 ; 0.5 ])
958+ @test Compat. Statistics. cov ([1 2 ; 3 4 ], [4 ; 5 ], corrected= false , dims= 1 ) == hcat ([0.5 ; 0.5 ])
959+ @test Compat. Statistics. cov ([1 2 ; 3 4 ], [4 ; 5 ], corrected= false , dims= 2 ) == hcat ([0.25 ; 0.25 ])
960+ @test Compat. Statistics. cor ([1 2 ; 3 4 ]) ≈ [1 1 ; 1 1 ]
961+ @test Compat. Statistics. cor ([1 2 ; 3 4 ], dims= 1 ) ≈ [1 1 ; 1 1 ]
962+ @test Compat. Statistics. cor ([1 2 ; 3 4 ], dims= 2 ) ≈ [1 1 ; 1 1 ]
963+ @test Compat. Statistics. cor ([1 2 ; 3 4 ], [4 ; 5 ]) ≈ [1 ; 1 ]
964+ @test Compat. Statistics. cor ([1 2 ; 3 4 ], [4 ; 5 ], dims= 1 ) ≈ [1 ; 1 ]
965+ @test Compat. Statistics. cor ([1 2 ; 3 4 ], [4 ; 5 ], dims= 2 ) ≈ [1 ; 1 ]
966+ end
967+ @test Compat. Statistics. median ([1 2 ; 3 4 ]) == 2.5
968+ @test Compat. Statistics. median ([1 2 ; 3 4 ], dims= 1 ) == [2 3 ]
969+ @test Compat. Statistics. median ([1 2 ; 3 4 ], dims= 2 ) == hcat ([1.5 ; 3.5 ])
970+ @test Compat. mapreduce (string, * , [1 2 ; 3 4 ]) == " 1324"
971+ Issue26488 && @test Compat. mapreduce (string, * , [1 2 ; 3 4 ], dims= 1 ) == [" 13" " 24" ]
972+ Issue26488 && @test Compat. mapreduce (string, * , [1 2 ; 3 4 ], dims= 2 ) == hcat ([" 12" , " 34" ])
973+ @test Compat. mapreduce (string, * , [1 2 ; 3 4 ], init= " z" ) == " z1324"
974+ @test Compat. mapreduce (string, * , (1 , 2 , 3 , 4 ), init= " z" ) == " z1234"
975+ @test Compat. mapreduce (string, * , [1 2 ; 3 4 ], dims= 1 , init= " z" ) == [" z13" " z24" ]
976+ @test Compat. mapreduce (string, * , [1 2 ; 3 4 ], dims= 2 , init= " z" ) == hcat ([" z12" , " z34" ])
977+ @test Compat. reduce (* , [1 2 ; 3 4 ]) == 24
978+ @test Compat. reduce (* , [1 2 ; 3 4 ], dims= 1 ) == [3 8 ]
979+ @test Compat. reduce (* , [1 2 ; 3 4 ], dims= 2 ) == hcat ([2 , 12 ])
980+ @test Compat. reduce (* , [1 2 ; 3 4 ], init= 10 ) == 240
981+ @test Compat. reduce (* , (1 , 2 , 3 , 4 ), init= 10 ) == 240
982+ @test Compat. reduce (* , [1 2 ; 3 4 ], dims= 1 , init= 10 ) == [30 80 ]
983+ @test Compat. reduce (* , [1 2 ; 3 4 ], dims= 2 , init= 10 ) == hcat ([20 , 120 ])
984+ @test Compat. sort ([1 , 2 , 3 , 4 ]) == [1 , 2 , 3 , 4 ]
985+ @test Compat. sort ([1 2 ; 3 4 ], dims= 1 ) == [1 2 ; 3 4 ]
986+ @test Compat. sort ([1 2 ; 3 4 ], dims= 2 ) == [1 2 ; 3 4 ]
987+ @test Compat. sort ([1 , 2 , 3 , 4 ], rev= true ) == [4 , 3 , 2 , 1 ]
988+ @test Compat. sort ([1 2 ; 3 4 ], rev= true , dims= 1 ) == [3 4 ; 1 2 ]
989+ @test Compat. sort ([1 2 ; 3 4 ], rev= true , dims= 2 ) == [2 1 ; 4 3 ]
990+ @test Compat. accumulate (* , [1 2 ; 3 4 ], dims= 1 ) == [1 2 ; 3 8 ]
991+ @test Compat. accumulate (* , [1 2 ; 3 4 ], dims= 2 ) == [1 2 ; 3 12 ]
992+ @test Compat. cumsum ([1 2 ; 3 4 ], dims= 1 ) == [1 2 ; 4 6 ]
993+ @test Compat. cumsum ([1 2 ; 3 4 ], dims= 2 ) == [1 3 ; 3 7 ]
994+ @test Compat. cumprod ([1 2 ; 3 4 ], dims= 1 ) == [1 2 ; 3 8 ]
995+ @test Compat. cumprod ([1 2 ; 3 4 ], dims= 2 ) == [1 2 ; 3 12 ]
996+ let b = zeros (2 ,2 )
997+ Compat. accumulate! (* , b, [1 2 ; 3 4 ], dims= 1 )
998+ @test b == [1 2 ; 3 8 ]
999+ Compat. accumulate! (* , b, [1 2 ; 3 4 ], dims= 2 )
1000+ @test b == [1 2 ; 3 12 ]
1001+ Compat. cumsum! (b, [1 2 ; 3 4 ], dims= 1 )
1002+ @test b == [1 2 ; 4 6 ]
1003+ Compat. cumsum! (b, [1 2 ; 3 4 ], dims= 2 )
1004+ @test b == [1 3 ; 3 7 ]
1005+ Compat. cumprod! (b, [1 2 ; 3 4 ], dims= 1 )
1006+ @test b == [1 2 ; 3 8 ]
1007+ Compat. cumprod! (b, [1 2 ; 3 4 ], dims= 2 )
1008+ @test b == [1 2 ; 3 12 ]
1009+ end
1010+ @test Compat. reverse ([1 , 2 , 3 , 4 ]) == [4 , 3 , 2 , 1 ]
1011+ @test Compat. reverse ([1 2 ; 3 4 ], dims= 1 ) == [3 4 ; 1 2 ]
1012+ @test Compat. reverse ([1 2 ; 3 4 ], dims= 2 ) == [2 1 ; 4 3 ]
1013+
1014+ # 0.7.0-DEV.4738
1015+ if VERSION < v " 0.7.0-beta2.143"
1016+ @test squeeze ([1 2 ], dims= 1 ) == [1 , 2 ]
1017+ @test_throws ArgumentError squeeze ([1 2 ], dims= 2 )
1018+ @test_throws ArgumentError squeeze (hcat ([1 , 2 ]), dims= 1 )
1019+ @test squeeze (hcat ([1 , 2 ]), dims= 2 ) == [1 , 2 ]
1020+ @test_throws Exception squeeze ([1 ,2 ])
1021+ end
1022+
1023+ # 0.7.0-DEV.5165
1024+ @test Compat. cat ([1 , 2 ], [3 , 4 , 5 ], dims = 1 ) == [1 , 2 , 3 , 4 , 5 ]
1025+ @test Compat. cat ([1 , 2 ], [3 , 4 ], dims = 2 ) == [1 3 ; 2 4 ]
1026+ if VERSION < v " 0.7.0-DEV.5165"
1027+ @test_throws UndefKeywordError Compat. cat ([1 , 2 ], [3 , 4 ])
1028+ end
0 commit comments