Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Airport challenge (Erlantz) #2503

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

Conversation

ErlantzR
Copy link

Erlantz Ramos

Please write your full name here to make it easier to find your pull request.

User stories

Please list which user stories you've implemented (delete the ones that don't apply).

  • User story 1: "I want to instruct a plane to land at an airport"
  • User story 2: "I want to instruct a plane to take off from an airport and confirm that it is no longer in the airport"
  • User story 3: "I want to prevent landing when the airport is full"
  • User story 4: "I would like a default airport capacity that can be overridden as appropriate"
  • User story 5: "I want to prevent takeoff when weather is stormy"
  • User story 6: "I want to prevent landing when weather is stormy"

README checklist

Does your README contains instructions for

  • how to install,
  • how to run,
  • and how to test your code?

Here is a pill that can help you write a great README!

@@ -0,0 +1,41 @@
class Airport

DEFAULT_CAPACITY = 1

Choose a reason for hiding this comment

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

Is this a constant? Could you just set your initialized capacity to 1?


def take_off(plane)
fail 'Plane cannot take off on stormy weather' if weather == "stormy"
fail 'Plane not in this airport' unless plane_in_airport?(plane)

Choose a reason for hiding this comment

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

This is good. I should have written something similar.

def weather
return "stormy" if rand(20) == 1
"sunny"
end

Choose a reason for hiding this comment

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

I wrote weather as a new class. Yours is more succinct but since the weather is effectively a different entity to airport and plane, I think it should be it's own class.

allow(subject).to receive(:weather) { "sunny" }
subject.land(plane)
expect(subject.take_off(plane)).to eq ("#{plane} no longer in #{subject} airport")
end

Choose a reason for hiding this comment

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

This is very clear - I like matching to the message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants