Add tests for Rubella::Storage.length=
This commit is contained in:
parent
d061bfc1eb
commit
366cd8aa45
|
@ -0,0 +1,68 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Rubella::Storage, '.length=' do
|
||||
|
||||
it "sets the length to the given value" do
|
||||
storage = Rubella::Storage.new [3, 4, 5]
|
||||
|
||||
storage.length = 2
|
||||
|
||||
expect(storage.length).to eq(2)
|
||||
end
|
||||
|
||||
it "chops the data to the given length" do
|
||||
storage = Rubella::Storage.new [3, 4, 5]
|
||||
|
||||
storage.length = 2
|
||||
|
||||
expect(storage.data.length).to eq(2)
|
||||
end
|
||||
|
||||
it "disables the length chopping, if its set to 0" do
|
||||
storage = Rubella::Storage.new [3, 4, 5]
|
||||
|
||||
storage.length = 0
|
||||
|
||||
expect(storage.data.length).to eq(3)
|
||||
end
|
||||
|
||||
it "grows the data to the given length" do
|
||||
storage = Rubella::Storage.new [[0, 1], [2, 3], [4, 5]]
|
||||
|
||||
storage.length = 5
|
||||
|
||||
expect(storage.data.length).to eq(5)
|
||||
end
|
||||
|
||||
it "grows the data by using the length of the dataset as array length" do
|
||||
storage = Rubella::Storage.new [[0, 1], [2, 3], [4, 5]]
|
||||
|
||||
storage.length = 5
|
||||
|
||||
expect(storage.data[0].length).to eq(2)
|
||||
expect(storage.data[1].length).to eq(2)
|
||||
expect(storage.data[2].length).to eq(2)
|
||||
expect(storage.data[3].length).to eq(2)
|
||||
expect(storage.data[4].length).to eq(2)
|
||||
end
|
||||
|
||||
it "grows the data by using 0 values" do
|
||||
storage = Rubella::Storage.new [[0, 1], [2, 3], [4, 5]]
|
||||
|
||||
storage.length = 5
|
||||
|
||||
expect(storage.data[0][0]).to eq(0)
|
||||
expect(storage.data[0][1]).to eq(0)
|
||||
expect(storage.data[1][0]).to eq(0)
|
||||
expect(storage.data[1][1]).to eq(0)
|
||||
end
|
||||
|
||||
it "does not grow the data, if Storage is empty" do
|
||||
storage = Rubella::Storage.new []
|
||||
|
||||
storage.length = 5
|
||||
|
||||
expect(storage.data.length).to eq(0)
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in New Issue