0
0
Fork 0

Add test for Rubella::Output::Image

This commit is contained in:
Stormwind 2015-10-22 12:05:34 +02:00
parent b345adb1d2
commit 14fbd23852
3 changed files with 73 additions and 0 deletions

View File

@ -17,3 +17,4 @@ require 'rubella/weighting/exponential'
require 'rubella/weighting/per_overall_load'
require 'rubella/output/base'
require 'rubella/output/ascii'
require 'rubella/output/image'

View File

@ -0,0 +1,34 @@
require 'spec_helper'
describe Rubella::Output::Image, '.new' do
it "creates a new Rubella::Output::Image" do
output = Rubella::Output::Image.new nil
expect(output).to be_kind_of(Rubella::Output::Image)
end
it "uses the given data" do
output = Rubella::Output::ImageImplementation.new Rubella::Storage.new([])
expect(output.data).to be_kind_of(Rubella::Storage)
expect(output.data.data).to eq([])
end
it "uses the given field_size" do
output = Rubella::Output::Image.new nil, 5
expect(output.field_size).to eq(5)
end
it "uses 15 as default field_size" do
output = Rubella::Output::Image.new nil
expect(output.field_size).to eq(15)
end
end
class Rubella::Output::ImageImplementation < Rubella::Output::Image
attr_reader :data
end

View File

@ -0,0 +1,38 @@
require 'spec_helper'
describe Rubella::Output::Image, '.render' do
it "returns a Magick::Image" do
data = [
[0, 0.1, 0.01],
[0, 0.3, 0.55],
[1, 0.64, 0.4]
]
storage = Rubella::Storage.new(data)
output = Rubella::Output::Image.new storage
expect(output.render).to be_kind_of(Magick::Image)
end
it "creates an image from the given data" do
data = [
[0, 0.1, 0.01],
[0, 0.3, 0.55],
[1, 0.64, 0.4]
]
storage = Rubella::Storage.new(data)
output = Rubella::Output::Image.new storage, 2
image = [255, 253, 253, 255, 253, 253, 255, 115, 115, 255, 115, 115, 255,
153, 153, 255, 153, 153, 255, 253, 253, 255, 253, 253, 255, 115, 115, 255,
115, 115, 255, 153, 153, 255, 153, 153, 255, 229, 229, 255, 229, 229, 255,
179, 179, 255, 179, 179, 255, 91, 91, 255, 91, 91, 255, 229, 229, 255,
229, 229, 255, 179, 179, 255, 179, 179, 255, 91, 91, 255, 91, 91, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 1, 1, 255, 1,
1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 1, 1,
255, 1, 1].pack('C*')
expect(output.render.export_pixels_to_str).to eq(image)
end
end