add test images

This commit is contained in:
2026-03-08 17:49:13 +07:00
parent 6e2fccd04e
commit 19773fddc9
11 changed files with 140 additions and 699 deletions

View File

@@ -93,8 +93,62 @@ function test_mix_receive()
log_trace(" ERROR: Expected Dict, got $(typeof(data))")
end
elseif data_type == "arrowtable"
# Arrow table data - should be Arrow.Table
if isa(data, Arrow.Table)
log_trace(" Type: Arrow.Table")
log_trace(" Dimensions: $(size(data, 1)) rows x $(size(data, 2)) columns")
log_trace(" Columns: $(names(data))")
# Display first few rows
log_trace(" First 5 rows:")
display(data[1:min(5, size(data, 1)), :])
# Convert to DataFrame for display and save
df = DataFrame(data)
output_path = "./received_$dataname.arrow"
io = IOBuffer()
Arrow.write(io, data)
write(output_path, take!(io))
log_trace(" Saved to: $output_path")
else
log_trace(" ERROR: Expected Arrow.Table, got $(typeof(data))")
end
elseif data_type == "jsontable"
# JSON table data - should be Vector{Dict} or Vector{NamedTuple}
if isa(data, Vector{<:Union{JSON.Object, Dict, NamedTuple}})
log_trace(" Type: Vector{Dict/NamedTuple}")
log_trace(" Number of rows: $(length(data))")
# Display first few rows
log_trace(" First 3 rows:")
for i in 1:min(3, length(data))
log_trace(" Row $i: $(data[i])")
end
# Convert to DataFrame for display and save
df = DataFrame(data)
log_trace(" Converted to DataFrame: $(size(df, 1)) rows x $(size(df, 2)) columns")
# Save as JSON file
output_path = "./received_$dataname.json"
json_str = JSON.json(data, 2)
write(output_path, json_str)
log_trace(" Saved to: $output_path")
# Also save as Arrow file
output_path_arrow = "./received_$dataname.arrow"
io = IOBuffer()
Arrow.write(io, df)
write(output_path_arrow, take!(io))
log_trace(" Saved to: $output_path_arrow")
else
log_trace(" ERROR: Expected Vector{Dict/NamedTuple}, got $(typeof(data))")
end
elseif data_type == "table"
# Table data - should be a DataFrame
# Table data - should be a DataFrame (backward compatibility)
data = DataFrame(data)
if isa(data, DataFrame)
log_trace(" Type: DataFrame")
@@ -180,7 +234,9 @@ function test_mix_receive()
println("\n=== Verification Summary ===")
text_count = count(x -> x[3] == "text", result["payloads"])
dict_count = count(x -> x[3] == "dictionary", result["payloads"])
table_count = count(x -> x[3] == "table", result["payloads"])
arrowtable_count = count(x -> x[3] == "arrowtable", result["payloads"])
jsontable_count = count(x -> x[3] == "jsontable", result["payloads"])
table_count = count(x -> x[3] == "table", result["payloads"]) # backward compatibility
image_count = count(x -> x[3] == "image", result["payloads"])
audio_count = count(x -> x[3] == "audio", result["payloads"])
video_count = count(x -> x[3] == "video", result["payloads"])
@@ -188,7 +244,9 @@ function test_mix_receive()
log_trace("Text payloads: $text_count")
log_trace("Dictionary payloads: $dict_count")
log_trace("Table payloads: $table_count")
log_trace("Arrow table payloads: $arrowtable_count")
log_trace("JSON table payloads: $jsontable_count")
log_trace("Table payloads (backward compat): $table_count")
log_trace("Image payloads: $image_count")
log_trace("Audio payloads: $audio_count")
log_trace("Video payloads: $video_count")
@@ -199,8 +257,12 @@ function test_mix_receive()
for (dataname, data, data_type) in result["payloads"]
if data_type in ["image", "audio", "video", "binary"]
log_trace("$dataname: $(length(data)) bytes (binary)")
elseif data_type == "arrowtable"
log_trace("$dataname: $(size(data, 1)) rows x $(size(data, 2)) columns (Arrow.Table)")
elseif data_type == "jsontable"
log_trace("$dataname: $(length(data)) rows (Vector{Dict/NamedTuple})")
elseif data_type == "table"
data = DataFrame(data)
data = DataFrame(data)
log_trace("$dataname: $(size(data, 1)) rows x $(size(data, 2)) columns (DataFrame)")
elseif data_type == "dictionary"
log_trace("$dataname: $(length(JSON.json(data))) bytes (Dict)")