3 require 'board/point_converter'
4 require 'helpers/animation_test_helper'
5 require 'helpers/stubs'
12 include PointConverter
34 class TestAnimations < Test::Unit::TestCase
36 @field = FakeAnimationField.new
41 item = GeneralMock.new
42 @field.run @c.disappear(item)
45 assert_equal [:opacity=, [1.0]], item.calls.shift
46 assert_equal [:visible=, [true]], item.calls.shift
50 method, args = item.calls.shift
51 break unless method == :opacity=
52 assert_operator args.first, :<=, old_op
56 assert_equal [:remove, []], item.calls.shift
57 assert_equal [], item.calls
61 item = GeneralMock.new
62 @field.run @c.appear(item)
65 assert_equal [:opacity=, [0.0]], item.calls.shift
66 assert_equal [:visible=, [true]], item.calls.shift
70 method, args = item.calls.shift
71 break unless method == :opacity=
72 assert_operator args.first, :>=, old_op
76 assert_equal [], item.calls
80 item = GeneralMock.new
81 @field.run @c.movement(item, Point.new(3, 4), Point.new(5, 6), Path::Linear)
85 while not item.calls.empty?
86 method, args = item.calls.shift
87 assert_equal :pos=, method
91 assert_operator old_p.x, :<=, p.x
92 assert_operator old_p.y, :<=, p.y
94 assert_in_delta 1.0, (delta.y.to_f / delta.x), 1e-5 if delta.x.abs >= 1e-5