Difference between revisions of "Render Part B Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
Line 1: Line 1:
=Class Hierarchy=
+
In this studio we will evolve our code from [[Render_Part_A_Assignment]] to leverage class hierarchies.
 +
 
 
[[File:Part b class hierarchy.png]]
 
[[File:Part b class hierarchy.png]]
  
In this studio, we will [https://github.com/rubocop-hq/ruby-style-guide#keyword-arguments-vs-optional-arguments prefer keyword arguments over optional arguments].
+
Continue editing files in the render/assignment directory.
 +
 
 +
In this studio, we will have parameters for which explicitly passed arguments are not required (for convenience and backwards compatibility).  We will [https://github.com/rubocop-hq/ruby-style-guide#keyword-arguments-vs-optional-arguments prefer keyword arguments over optional arguments].
 +
 
 +
=Code to Implement=
 +
==class Transform==
 +
 
 +
superclass: Object
 +
 
 +
==class Image==
 +
 
 +
superclass: Transform
 +
 
 +
==class ColorTransform==
 +
 
 +
superclass: Transform
 +
 
 +
==class Text==
 +
 
 +
superclass: ColorTransform
 +
 
 +
==class Ellipse==
 +
 
 +
superclass: ColorTransform
 +
 
 +
==class EquilateralTriangle==
  
 +
superclass: ColorTransform
  
=class Transform=
+
==class BezierCurve==
  
=class Image=
+
superclass: ColorTransform
  
=class ColorTransform=
+
==class Chord==
  
=class Text=
+
superclass: ColorTransform
  
=class Ellipse=
+
==class Rectangle==
  
=class EquilateralTriangle=
+
superclass: ColorTransform
  
=class BezierCurve=
+
==class CompositeTransform==
  
=class Chord=
+
superclass: Transform
  
=class Rectangle=
+
==class Scene==
  
=class CompositeTransform=
+
superclass: Object
  
=class Scene=
+
=Testing Your Solution=
 +
==Unit Testing==
 +
ruby/render/part_b_test/part_b_unit_test.rb
 +
==Visual Comparison==
 +
ruby/render/part_b_test/part_b_test_snapshots_web_page_generator.rb

Revision as of 05:33, 15 July 2019

In this studio we will evolve our code from Render_Part_A_Assignment to leverage class hierarchies.

File:Part b class hierarchy.png

Continue editing files in the render/assignment directory.

In this studio, we will have parameters for which explicitly passed arguments are not required (for convenience and backwards compatibility). We will prefer keyword arguments over optional arguments.

Code to Implement

class Transform

superclass: Object

class Image

superclass: Transform

class ColorTransform

superclass: Transform

class Text

superclass: ColorTransform

class Ellipse

superclass: ColorTransform

class EquilateralTriangle

superclass: ColorTransform

class BezierCurve

superclass: ColorTransform

class Chord

superclass: ColorTransform

class Rectangle

superclass: ColorTransform

class CompositeTransform

superclass: Transform

class Scene

superclass: Object

Testing Your Solution

Unit Testing

ruby/render/part_b_test/part_b_unit_test.rb

Visual Comparison

ruby/render/part_b_test/part_b_test_snapshots_web_page_generator.rb