Files
3d_globe/test/test_helper.rb
T

29 lines
862 B
Ruby

# frozen_string_literal: true
require "minitest/autorun"
require "tmpdir"
require "zip"
require "moon_model"
module TestData
def make_data(path, width: 16, height: 8)
elevations = Array.new(width * height) { |i| ((i % width) - width / 2) * 20 }
reflectance = Array.new(width * height) { |i| (255.0 * (i % width) / (width - 1)).round }
header = { "format_version" => 1, "title" => "test data", "width" => width, "height" => height,
"elevation_offset_range_m" => elevations.minmax }
encoded = JSON.generate(header)
Zlib::GzipWriter.open(path) do |gzip|
gzip.write(MoonModel::DataSet::MAGIC)
gzip.write([encoded.bytesize].pack("L<"))
gzip.write(encoded)
gzip.write(elevations.pack("s<*"))
gzip.write(reflectance.pack("C*"))
end
path
end
end
class Minitest::Test
include TestData
end