Skip to content

Instantly share code, notes, and snippets.

@BrianZanti
Created October 27, 2021 14:27
Show Gist options
  • Select an option

  • Save BrianZanti/669d509ab4ccc50262cc10c5eec02e6c to your computer and use it in GitHub Desktop.

Select an option

Save BrianZanti/669d509ab4ccc50262cc10c5eec02e6c to your computer and use it in GitHub Desktop.

Revisions

  1. Brian Zanti created this gist Oct 27, 2021.
    73 changes: 73 additions & 0 deletions prework.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,73 @@
    ## Iteration 1

    Use TDD to create a `Student` class that responds to the following interaction pattern:

    ```ruby
    pry(main)> require './lib/student'
    # => true

    pry(main)> student = Student.new({name: "Morgan", age: 21})
    # => #<Student:0x00007fe196b0c050...>

    pry(main)> student.name
    # => "Morgan"

    pry(main)> student.age
    # => 21

    pry(main)> student.scores
    # => []

    pry(main)> student.log_score(89)

    pry(main)> student.log_score(78)

    pry(main)> student.scores
    # => [89, 78]

    pry(main)> student.grade #Average of all the scores
    # => 83.5
    ```

    ## Iteration 2

    Use TDD to create a `Course` class that responds to the following interaction pattern:

    ```ruby
    pry(main)> require './lib/course'
    # => true

    pry(main)> require './lib/student'
    # => true

    pry(main)> course = Course.new("Calculus", 2)
    # => #<Course:0x00007fa0a69be328...>

    pry(main)> course.name
    # => "Calculus"

    pry(main)> course.capacity
    # => 2

    pry(main)> course.students
    # => []

    pry(main)> course.full?
    # => false

    pry(main)> student1 = Student.new({name: "Morgan", age: 21})
    # => #<Student:0x00007fa0a80ae588...>

    pry(main)> student2 = Student.new({name: "Jordan", age: 29})
    # => #<Student:0x00007fa0a814f4d8...>

    pry(main)> course.enroll(student1)

    pry(main)> course.enroll(student2)

    pry(main)> course.students
    # => [#<Student:0x00007fa0a80ae588...>, #<Student:0x00007fa0a814f4d8...>]

    pry(main)> course.full?
    # => true
    ```