Skip to content

Commit 4ad5062

Browse files
authored
test: add more tests (#50)
* test: add more tests * test: add moe tests * test: add complex type test
1 parent b75414d commit 4ad5062

File tree

1 file changed

+130
-3
lines changed

1 file changed

+130
-3
lines changed

test/runtests.jl

Lines changed: 130 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2859,6 +2859,96 @@ end
28592859

28602860
### to_buffers ###########################################################
28612861

2862+
begin
2863+
layout = AwkwardArray.PrimitiveArray([true, false, true, false])
2864+
form, len, containers = AwkwardArray.to_buffers(layout)
2865+
2866+
@test JSON.parse(form) == JSON.parse(
2867+
"""{"class": "NumpyArray", "primitive": "bool", "inner_shape": [], "parameters": {}, "form_key": "node0"}""",
2868+
)
2869+
@test len == 4
2870+
@test containers == Dict{String,Vector{UInt8}}(
2871+
"node0-data" => Vector{UInt8}(
2872+
b"\x01\x00\x01\x00",
2873+
),
2874+
)
2875+
end
2876+
2877+
begin
2878+
layout = AwkwardArray.PrimitiveArray([Int8(-1), Int8(0), Int8(-33), Int8(66)])
2879+
form, len, containers = AwkwardArray.to_buffers(layout)
2880+
2881+
@test JSON.parse(form) == JSON.parse(
2882+
"""{"class": "NumpyArray", "primitive": "int8", "inner_shape": [], "parameters": {}, "form_key": "node0"}""",
2883+
)
2884+
@test len == 4
2885+
@test containers == Dict{String,Vector{UInt8}}(
2886+
"node0-data" => Vector{UInt8}(
2887+
b"\xff\x00\xdf\x42",
2888+
),
2889+
)
2890+
end
2891+
2892+
begin
2893+
layout = AwkwardArray.PrimitiveArray([Int16(-1), Int16(0), Int16(-33), Int16(66)])
2894+
form, len, containers = AwkwardArray.to_buffers(layout)
2895+
2896+
@test JSON.parse(form) == JSON.parse(
2897+
"""{"class": "NumpyArray", "primitive": "int16", "inner_shape": [], "parameters": {}, "form_key": "node0"}""",
2898+
)
2899+
@test len == 4
2900+
@test containers == Dict{String,Vector{UInt8}}(
2901+
"node0-data" => Vector{UInt8}(
2902+
b"\xff\xff\x00\x00\xdf\xff\x42\x00",
2903+
),
2904+
)
2905+
end
2906+
2907+
begin
2908+
layout = AwkwardArray.PrimitiveArray([UInt16(1), UInt16(0), UInt16(33), UInt16(66)])
2909+
form, len, containers = AwkwardArray.to_buffers(layout)
2910+
2911+
@test JSON.parse(form) == JSON.parse(
2912+
"""{"class": "NumpyArray", "primitive": "uint16", "inner_shape": [], "parameters": {}, "form_key": "node0"}""",
2913+
)
2914+
@test len == 4
2915+
@test containers == Dict{String,Vector{UInt8}}(
2916+
"node0-data" => Vector{UInt8}(
2917+
b"\x01\x00\x00\x00\x21\x00\x42\x00",
2918+
),
2919+
)
2920+
end
2921+
2922+
begin
2923+
layout = AwkwardArray.PrimitiveArray([Int32(-1), Int32(0), Int32(-33), Int32(66)])
2924+
form, len, containers = AwkwardArray.to_buffers(layout)
2925+
2926+
@test JSON.parse(form) == JSON.parse(
2927+
"""{"class": "NumpyArray", "primitive": "int32", "inner_shape": [], "parameters": {}, "form_key": "node0"}""",
2928+
)
2929+
@test len == 4
2930+
@test containers == Dict{String,Vector{UInt8}}(
2931+
"node0-data" => Vector{UInt8}(
2932+
b"\xff\xff\xff\xff\x00\x00\x00\x00\xdf\xff\xff\xff\x42\x00\x00\x00",
2933+
),
2934+
)
2935+
end
2936+
2937+
begin
2938+
layout = AwkwardArray.PrimitiveArray([UInt32(1), UInt32(0), UInt32(33), Int32(66)])
2939+
form, len, containers = AwkwardArray.to_buffers(layout)
2940+
2941+
@test JSON.parse(form) == JSON.parse(
2942+
"""{"class": "NumpyArray", "primitive": "uint32", "inner_shape": [], "parameters": {}, "form_key": "node0"}""",
2943+
)
2944+
@test len == 4
2945+
@test containers == Dict{String,Vector{UInt8}}(
2946+
"node0-data" => Vector{UInt8}(
2947+
b"\x01\x00\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\x42\x00\x00\x00",
2948+
),
2949+
)
2950+
end
2951+
28622952
begin
28632953
layout = AwkwardArray.PrimitiveArray([1.1, 2.2, 3.3, 4.4, 5.5])
28642954
form, len, containers = AwkwardArray.to_buffers(layout)
@@ -2890,6 +2980,20 @@ end
28902980
),
28912981
)
28922982
end
2983+
2984+
begin
2985+
layout = AwkwardArray.PrimitiveArray([1+1im, 0+0.2im, -3.3 + 0.1im, 66])
2986+
form, len, containers = AwkwardArray.to_buffers(layout)
2987+
@test JSON.parse(form) == JSON.parse(
2988+
"""{"class": "NumpyArray", "primitive": "complex128", "inner_shape": [], "parameters": {}, "form_key": "node0"}""",
2989+
)
2990+
@test len == 4
2991+
@test containers == Dict{String,Vector{UInt8}}(
2992+
"node0-data" => Vector{UInt8}(
2993+
b"\x00\x00\x00\x00\x00\x00\xf0\x3f\x00\x00\x00\x00\x00\x00\xf0\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x99\x99\x99\x99\x99\xc9\x3f\x66\x66\x66\x66\x66\x66\x0a\xc0\x9a\x99\x99\x99\x99\x99\xb9\x3f\x00\x00\x00\x00\x00\x80\x50\x40\x00\x00\x00\x00\x00\x00\x00\x00",
2994+
),
2995+
)
2996+
end
28932997

28942998
begin
28952999
layout = AwkwardArray.EmptyArray()
@@ -3158,16 +3262,39 @@ end
31583262
"node5-data" => Vector{UInt8}(b"five"),
31593263
)
31603264
end
3265+
end
3266+
3267+
@testset "Parameters compatible tests" begin
3268+
begin
3269+
doc_parameters = AwkwardArray.Parameters("__doc__" => "nice list")
3270+
3271+
nice_list_layout = AwkwardArray.ListOffsetArray(
3272+
[0, 3, 3, 8],
3273+
AwkwardArray.PrimitiveArray([0x68, 0x65, 0x79, 0x74, 0x68, 0x65, 0x72, 0x65],),
3274+
parameters = AwkwardArray.Parameters("__doc__" => "nice list"),
3275+
)
3276+
3277+
not_so_nice_list_layout = AwkwardArray.ListOffsetArray(
3278+
[0, 3, 3, 8],
3279+
AwkwardArray.PrimitiveArray([0x68, 0x65, 0x79, 0x74, 0x68, 0x65, 0x72, 0x65],),
3280+
parameters = AwkwardArray.Parameters("__array__" => "not so nice list"),
3281+
)
3282+
3283+
@test AwkwardArray.compatible(nice_list_layout.parameters, not_so_nice_list_layout.parameters) == false
3284+
@test AwkwardArray.compatible(doc_parameters, nice_list_layout.parameters) == true
3285+
end
3286+
3287+
end # @testset "AwkwardArray.jl"
31613288

3162-
@testset "Tables.jl intergration" begin
3289+
@testset "Tables.jl intergration" begin
3290+
begin
31633291
df = (; x = [[1], [2], [1, 2, 3]], y = [4.0, 5, 6])
31643292
awt = AwkwardArray.from_table(df)
31653293
@test Tables.schema(df) == Tables.schema(awt)
31663294

31673295
@test df.x == AwkwardArray.to_vector(awt[:x])
31683296
@test df.y == AwkwardArray.to_vector(awt[:y])
31693297
end
3170-
3171-
end # @testset "AwkwardArray.jl"
3298+
end # @testset "Tables.jl"
31723299

31733300
include("./runpytests.jl")

0 commit comments

Comments
 (0)