rlmoser99 / ruby_rspec_TOP

A tutorial that I developed for students at The Odin Project to learn RSpec.

Home Page:https://github.com/TheOdinProject/ruby_testing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add 'Class Encapsulation' concept to Lesson 15

rlmoser99 opened this issue · comments

Without understanding class encapsulation, students are updating values of one class inside a different class. Understanding the importance of one class to sending a messages to another class to update it's own values is essential to understand the Unit Testing Summary.

Unit Testing Summary
Incoming Query -> Assert the result
Incoming Command -> Assert the direct public side effects
Sent to Self Query -> Ignore
Sent to Self Command -> Ignore
Outgoing Query -> Ignore
Outgoing Command -> Expect to send

This concept should also be referenced in the proposal (as one that students do not currently understand)

Also, I wonder if we should mention that a class should not be responsible for creating a new instance of itself, like having a method in Game that creates a new game.