diff options
| author | Tom Black <[email protected]> | 2016-12-24 22:17:34 -0600 |
|---|---|---|
| committer | Tom Black <[email protected]> | 2016-12-24 22:17:34 -0600 |
| commit | e81d32b470cdead1c114b6d1b5b6bda958d6b1ad (patch) | |
| tree | 3d61e376c8f460b2ff932cb9f9104f2e0cf5b72e /test/color_spec.rb | |
| parent | 326b74d485ce81c0a4e1da0e5158a2c83e028915 (diff) | |
| download | ruby2d-e81d32b470cdead1c114b6d1b5b6bda958d6b1ad.tar.gz ruby2d-e81d32b470cdead1c114b6d1b5b6bda958d6b1ad.zip | |
Merge all tests into `test/` directory
Diffstat (limited to 'test/color_spec.rb')
| -rw-r--r-- | test/color_spec.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/color_spec.rb b/test/color_spec.rb new file mode 100644 index 0000000..ed23712 --- /dev/null +++ b/test/color_spec.rb @@ -0,0 +1,37 @@ +require 'ruby2d' + +RSpec.describe Ruby2D::Color do + + describe '#is_valid?' do + it 'determines if a color string is valid' do + expect(Ruby2D::Color.is_valid? 'red').to eq true + expect(Ruby2D::Color.is_valid? 'balloons').to eq false + end + + it 'determines if a color string is valid hex value: # follow by 6 letters/numbers' do + expect(Ruby2D::Color.is_valid? '#c0c0c0').to eq true + expect(Ruby2D::Color.is_valid? '#00000').to eq false + expect(Ruby2D::Color.is_valid? '123456').to eq false + end + + it 'determines if an array is a valid color' do + expect(Ruby2D::Color.is_valid? [1.0, 0, 0, 1.0]).to eq true + expect(Ruby2D::Color.is_valid? [1.0, 0, 0]).to eq false + end + + it 'prevents allow color values out of range' do + expect(Ruby2D::Color.is_valid? [1.0, 0, 0.0, 255]).to eq true + expect(Ruby2D::Color.is_valid? [1.2, 0, 0, 0]).to eq false + expect(Ruby2D::Color.is_valid? [-0.1, 0, 0, 0]).to eq false + expect(Ruby2D::Color.is_valid? [255, 255, 256, 255]).to eq false + expect(Ruby2D::Color.is_valid? [-1, 0, 127, 255]).to eq false + end + end + + describe '#new' do + it 'raises error on bad color' do + expect { Ruby2D::Color.new 42 }.to raise_error Ruby2D::Error + end + end + +end |
