diff options
| author | Tom Black <[email protected]> | 2019-01-06 02:22:14 -0800 |
|---|---|---|
| committer | Tom Black <[email protected]> | 2019-01-06 02:22:14 -0800 |
| commit | 9994b770686428ebbde636081156abb5a50dc6c2 (patch) | |
| tree | 745d89e4d017b4b6dda4056d98c6a8fbcc956a72 /test/sprite_spec.rb | |
| parent | 742bb574dc506fbb7a8d1774c44736ad0e228c54 (diff) | |
| download | ruby2d-9994b770686428ebbde636081156abb5a50dc6c2.tar.gz ruby2d-9994b770686428ebbde636081156abb5a50dc6c2.zip | |
Tests and fixes to the public API
Namely to ensure attribute getters/setters are consistent
Diffstat (limited to 'test/sprite_spec.rb')
| -rw-r--r-- | test/sprite_spec.rb | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/test/sprite_spec.rb b/test/sprite_spec.rb index c4ad61e..2b8adc2 100644 --- a/test/sprite_spec.rb +++ b/test/sprite_spec.rb @@ -7,8 +7,55 @@ RSpec.describe Ruby2D::Sprite do expect { Sprite.new("bad_sprite_sheet.png") }.to raise_error(Ruby2D::Error) end - it "creates a new sprite" do - Sprite.new("test/media/coin.png") + it "creates a sprite with a white filter by default" do + spr = Sprite.new('test/media/coin.png') + expect(spr.color).to be_a(Ruby2D::Color) + expect(spr.color.r).to eq(1) + expect(spr.color.g).to eq(1) + expect(spr.color.b).to eq(1) + expect(spr.color.a).to eq(1) + end + + it "creates an image with options" do + spr = Sprite.new( + 'test/media/coin.png', + x: 10, y: 20, z: 30, + width: 40, height: 50, rotate: 60, + color: 'gray', opacity: 0.5 + ) + + expect(spr.path).to eq('test/media/coin.png') + expect(spr.x).to eq(10) + expect(spr.y).to eq(20) + expect(spr.z).to eq(30) + expect(spr.width).to eq(40) + expect(spr.height).to eq(50) + expect(spr.rotate).to eq(60) + expect(spr.color.r).to eq(2/3.0) + expect(spr.opacity).to eq(0.5) + end + end + + describe "attributes" do + it "can be set and read" do + spr = Sprite.new('test/media/coin.png') + spr.x = 10 + spr.y = 20 + spr.z = 30 + spr.width = 40 + spr.height = 50 + spr.rotate = 60 + spr.color = 'gray' + spr.opacity = 0.5 + + expect(spr.x).to eq(10) + expect(spr.y).to eq(20) + expect(spr.z).to eq(30) + expect(spr.width).to eq(40) + expect(spr.height).to eq(50) + expect(spr.rotate).to eq(60) + expect(spr.color.r).to eq(2/3.0) + expect(spr.opacity).to eq(0.5) end end |
