local lu = require('luaunit')
local array_dump_mod = require('array.array_dump')
local common_def = require('common_def')
TestArrayDump = {}
local function make_fp_w()
local written = {}
local fp_w = {
write = function(_, s)
table.insert(written, s)
end,
}
return fp_w, written
end
function TestArrayDump:test_dump_info_normal_array()
local inst = array_dump_mod.get_instance()
local fp_w, written = make_fp_w()
local array = {
Id = 1,
UsedSpaceMiB = 500,
TotalFreeSpaceMiB = 2048,
RefVolumes = { 'Volume0', 'Volume1' },
RefDrives = { 'Disk0', 'Disk1' },
}
inst:dump_info(fp_w, array)
lu.assertTrue(#written > 0)
array_dump_mod.destroy()
end
function TestArrayDump:test_dump_info_invalid_and_tb_capacity()
local inst = array_dump_mod.get_instance()
local fp_w, written = make_fp_w()
local array = {
Id = 2,
UsedSpaceMiB = common_def.INVALID_U32,
TotalFreeSpaceMiB = 1024 * 1024 * 2,
}
inst:dump_info(fp_w, array)
lu.assertTrue(#written > 0)
array_dump_mod.destroy()
end
function TestArrayDump:test_dump_info_pb_capacity()
local inst = array_dump_mod.get_instance()
local fp_w, written = make_fp_w()
local array = {
Id = 3,
UsedSpaceMiB = 1024 * 1024 * 1024 * 2,
TotalFreeSpaceMiB = 1024 * 1024 * 1024 * 3,
}
inst:dump_info(fp_w, array)
lu.assertTrue(#written > 0)
array_dump_mod.destroy()
end
function TestArrayDump:test_dump_info_empty_ref_volumes()
local inst = array_dump_mod.get_instance()
local fp_w, written = make_fp_w()
local array = {
Id = 4,
UsedSpaceMiB = 100,
TotalFreeSpaceMiB = 200,
RefVolumes = {},
RefDrives = nil,
}
inst:dump_info(fp_w, array)
lu.assertTrue(#written > 0)
array_dump_mod.destroy()
end
function TestArrayDump:test_dump_info_multiple_drives()
local inst = array_dump_mod.get_instance()
local fp_w, written = make_fp_w()
local array = {
Id = 5,
UsedSpaceMiB = 100,
TotalFreeSpaceMiB = 200,
RefVolumes = nil,
RefDrives = { 'Disk0', 'Disk1', 'Disk2' },
}
inst:dump_info(fp_w, array)
lu.assertTrue(#written > 0)
array_dump_mod.destroy()
end