Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
220 changes: 220 additions & 0 deletions .idea/Episode6.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/scopes/scope_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions models/Motorcycle.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
require_relative('Vehicle.rb')
class Motorcycle < Vehicle

attr_accessor :tires

def initialize
@tires = 2
end

end
8 changes: 8 additions & 0 deletions models/Vehicle.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
class Vehicle
attr_accessor :tires

def initialize (tires)
@tires = tires
end

end
21 changes: 21 additions & 0 deletions models/automobile.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
require_relative('Vehicle.rb')
class Automobile < Vehicle
attr_accessor :wheels, :carspecifications, :colour, :make, :model, :year

def initialize(wheels, carspecifications={})
@carspecifications = carspecifications
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need to keep on to the carspecifications hash after you've initialized?

@wheels = wheels
@colour = @carspecifications[:colour]
@make = @carspecifications[:make]
@model = @carspecifications[:model]
@year = @carspecifications[:year]
end

def update(newspecs = {})
@newspecs = newspecs
@colour = @newspecs[:colour]
@make = @newspecs[:make]
@model = @newspecs[:model]
@year = @newspecs[:year]
end
end
38 changes: 38 additions & 0 deletions spec/automobile_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
require 'rspec'
require_relative('../models/automobile.rb')


describe 'Automobile' do
carspecs = {colour: "Red", make: "Skoda", model: "Shiznit", year: "1970"}
mycar = Automobile.new(5, carspecs)

it 'should return the number of wheels' do
mycar.wheels.should be_a_kind_of Numeric
end

it "should have a colour" do
mycar.colour.should == carspecs[:colour]
end

it "should have a make" do
mycar.make.should == carspecs[:make]
end

it "should have a model" do
mycar.model.should == carspecs[:model]
end

it "should have a year" do
mycar.year.should == carspecs[:year]
end

it "should update specs" do
newspecs = {colour: "Yellow", make: "Toyota", model: "Corolla", year: "2003"}
mycar.update(newspecs)
mycar.colour.should == newspecs[:colour]
mycar.make.should == newspecs[:make]
mycar.model.should == newspecs[:model]
mycar.year.should == newspecs[:year]
end

end
9 changes: 9 additions & 0 deletions spec/motorcycle_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require_relative('../models/Motorcycle.rb')
require 'rspec'

describe Motorcycle do
it 'should return number of tires' do
Motorcycle.new.tires.should == 2
end

end
9 changes: 9 additions & 0 deletions spec/vehicle_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require_relative('../models/Vehicle.rb')
require 'rspec'

describe Vehicle do
it 'should return number of tires' do
Vehicle.new(4).tires.should be_a_kind_of Numeric
end

end