3 require 'board/point_converter'
4 require 'helpers/animation_test_helper'
5 require 'helpers/stubs'
12 include PointConverter
28 class TestAnimations < Test::Unit::TestCase
30 @field = FakeAnimationField.new
35 item = GeneralMock.new
36 @field.run @c.disappear(item)
39 assert_equal [:opacity=, [1.0]], item.calls.shift
40 assert_equal [:visible=, [true]], item.calls.shift
44 method, args = item.calls.shift
45 break unless method == :opacity=
46 assert_operator args.first, :<=, old_op
50 assert_equal [:remove, []], item.calls.shift
51 assert_equal [], item.calls
55 item = GeneralMock.new
56 @field.run @c.appear(item)
59 assert_equal [:opacity=, [0.0]], item.calls.shift
60 assert_equal [:visible=, [true]], item.calls.shift
64 method, args = item.calls.shift
65 break unless method == :opacity=
66 assert_operator args.first, :>=, old_op
70 assert_equal [], item.calls
74 item = GeneralMock.new
75 @field.run @c.movement(item, Point.new(3, 4), Point.new(5, 6), Path::Linear)
79 while not item.calls.empty?
80 method, args = item.calls.shift
81 assert_equal :pos=, method
85 assert_operator old_p.x, :<=, p.x
86 assert_operator old_p.y, :<=, p.y
88 assert_in_delta 1.0, (delta.y.to_f / delta.x), 1e-5 if delta.x.abs >= 1e-5