def test_to_tweenvector(self): tween = TweenVector((0, 0, 0)) tween.to((5, 10, 15), 6) self.assertEqual(len(tween), 6) expected = [[0, 0, 0], [1, 2, 3], [2, 4, 6], [3, 6, 9], [4, 8, 12], [5, 10, 15]] for i, v in enumerate(tween): self.assertEqual(v, expected[i]) self.assertEqual(i, 5)
def test_ease_tweenvector_length_1(self): tween = TweenVector((0, 0, 0)) tween.ease((5, 10, 15), 1, test_linear()) self.assertEqual(len(tween), 1) expected = [[5, 10, 15]] for i, v in enumerate(tween): self.assertAlmostEqual(v, expected[i]) self.assertEqual(i, 0)
def test_ease_tweenvector(self): tween = TweenVector((0, 0, 0)) tween.ease((5, 10, 15), 5, test_linear()) self.assertEqual(len(tween), 5) expected = [[1, 2, 3], [2, 4, 6], [3, 6, 9], [4, 8, 12], [5, 10, 15]] for i, v in enumerate(tween): self.assertAlmostEqual(v, expected[i]) self.assertEqual(i, 4)
def test_set_tweenvector(self): tween = TweenVector((.1, .2, .3)) tween.wait(3) tween.set((6, 4, 2), 4) self.assertEqual(len(tween), 7) self.assertEqual(tween.get(0), (.1, .2, .3)) self.assertEqual(tween[2], (.1, .2, .3)) self.assertEqual(tween[3], (6, 4, 2)) self.assertEqual(tween.get(6), (6, 4, 2)) expected = [(.1, .2, .3), (.1, .2, .3), (.1, .2, .3), (6, 4, 2), (6, 4, 2), (6, 4, 2), (6, 4, 2)] for i, v in enumerate(tween): self.assertEqual(v, expected[i]) self.assertEqual(i, 6)
def scene1(duration): position = TweenVector((0, 0)).to((200, 300), t2f(duration)) def draw(ctx, pixel_width, pixel_height, fn, frame_count): setup(ctx, pixel_width, pixel_height, width=OUTPUTWIDTH, height=OUTPUTHEIGHT, background=Color(0.5)) Circle(ctx).of_center_radius(position[fn], 30).fill(Color("red")) return make_image_frames(draw, WIDTH, HEIGHT, t2f(duration)), duration
def scene2(duration): position = TweenVector((0, 0)).to((200, 300), t2f(duration)) def draw(ctx, pixel_width, pixel_height, fn, frame_count): setup(ctx, pixel_width, pixel_height, width=OUTPUTWIDTH, height=OUTPUTHEIGHT, background=Color(0.5)) Rectangle(ctx).of_corner_size(position[fn], 50, 50).fill(Color("green")) return make_image_frames(draw, WIDTH, HEIGHT, t2f(duration)), duration
def test_empty_tweenvector(self): tween = TweenVector((.1, .2, .3)) self.assertEqual(len(tween), 0)
def test_ease_tweenvector_length_0(self): tween = TweenVector((0, 0, 0)) tween.ease((5, 10, 15), 0, test_linear()) self.assertEqual(len(tween), 0)
def test_to_tweenvector_length_0(self): tween = TweenVector((0, 0, 0)) tween.to((5, 10, 15), 0) self.assertEqual(len(tween), 0)