Instructions
Create a Counter class with:
- An
initializemethod that sets count to 0 (or optional starting value) - A
countreader attribute - An
incrementmethod that increases count by 1 - A
decrementmethod that decreases count by 1
Hints:
- Use attr_reader :count
- Use @count += 1 for increment
- Default parameter: def initialize(start = 0)
Your Code
class Counter
attr_reader :count
def initialize(start = 0)
@count = start
end
def increment
@count += 1
end
def decrement
@count -= 1
end
end
RSpec.describe Counter do
it "starts at 0 by default" do
counter = Counter.new
expect(counter.count).to eq(0)
end
it "can start at custom value" do
counter = Counter.new(10)
expect(counter.count).to eq(10)
end
it "increments" do
counter = Counter.new
counter.increment
expect(counter.count).to eq(1)
end
it "decrements" do
counter = Counter.new(5)
counter.decrement
expect(counter.count).to eq(4)
end
end
Results
Click "Run Tests" to see results