File: ppm_reader_test.rb

package info (click to toggle)
ruby-term-ansicolor 1.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,104 kB
  • sloc: ruby: 1,269; makefile: 10
file content (46 lines) | stat: -rw-r--r-- 1,283 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
require 'test_helper'
require 'digest/md5'

class PPMReaderTest < Test::Unit::TestCase
  include Term::ANSIColor

  def test_loading_ppm6
    File.open(example_path('lambda-red.ppm')) do |ppm6|
      ppm_reader = PPMReader.new(ppm6)
      assert_equal '2035155a4242e498f4852ae8425dac6b',
        Digest::MD5.hexdigest(ppm_reader.to_s)
    end
  end

  def test_loading_ppm3
    File.open(example_path('lambda-red-plain.ppm')) do |ppm6|
      ppm_reader = PPMReader.new(ppm6)
      assert_equal '2035155a4242e498f4852ae8425dac6b',
        Digest::MD5.hexdigest(ppm_reader.to_s)
    end
  end

  def test_rendering_ppm_without_gray
    File.open(example_path('lambda-red.ppm')) do |ppm6|
      ppm_reader = PPMReader.new(ppm6, :gray => false)
      assert_equal '0653f40e42a87fc480e09db1c58f71ba',
        Digest::MD5.hexdigest(ppm_reader.to_s)
    end
  end

  def test_to_a
    File.open(example_path('lambda-red.ppm')) do |ppm6|
      ppm_reader = PPMReader.new(ppm6, :gray => false)
      ary = ppm_reader.to_a
      assert_equal 22, ary.size
      assert_equal 44, ary.first.size
      assert_equal [ 255, 255, 255 ], ary.first.last
    end
  end

  private

  def example_path(path = [])
    File.expand_path(File.join(File.dirname(__FILE__), '..', 'examples', *path))
  end
end