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