Difference between revisions of "Render Part C Assignment"
Jump to navigation
Jump to search
Line 50: | Line 50: | ||
==Unit Test== | ==Unit Test== | ||
{{RubyUnitTest|part_c_unit_test|render/part_c}} | {{RubyUnitTest|part_c_unit_test|render/part_c}} | ||
+ | |||
+ | {{RubyUnitTest|part_c_move_unit_test|render/part_c}} | ||
+ | |||
+ | {{RubyUnitTest|part_c_bounds_unit_test|render/part_c}} |
Revision as of 05:57, 26 November 2020
In this studio we will evolve our code from Render_Part_B_Assignment to add new methods and a new class.
Continue editing files in the render/assignment directory.
Contents
Code to Implement
Transform
move
the move method will accept two parameters: direction and amount.
direction can be one of four symbols
:left :right :up :down
- left corresponds to translating along the negative x axis
- right corresponds to translating along the positive x axis
- down corresponds to translating along the negative y axis
- up corresponds to translating along the positive y axis
any other value for direction should raise an ArgumentError.
calculate_bounds
Rectangle
calculate_local_bounds
BezierCurve, Chord, Ellipse, EquilateralTriangle, Image, Text
Imagine what it would be like to define calculate_local_bounds
for each of these classes.
CompositeTransform
calculate_local_bounds
Scene
calculate_bounds
ConvexPolygon
render_transformed
calculate_local_bounds
Testing Your Solution
Visual Comparison
file to run: | src/test/ruby/render/part_c/part_c_test_snapshots_web_page_generator.rb |
Unit Test
file: | src/test/ruby/render/part_c/part_c_unit_test.rb | UnitTest |
note: ensure that you have removed all printing to receive credit for any assignment.
file: | src/test/ruby/render/part_c/part_c_move_unit_test.rb | UnitTest |
note: ensure that you have removed all printing to receive credit for any assignment.
file: | src/test/ruby/render/part_c/part_c_bounds_unit_test.rb | UnitTest |
note: ensure that you have removed all printing to receive credit for any assignment.