Skip to content

Ports - Mina#32

Open
minams wants to merge 16 commits intoAda-C11:masterfrom
minams:master
Open

Ports - Mina#32
minams wants to merge 16 commits intoAda-C11:masterfrom
minams:master

Conversation

@minams
Copy link

@minams minams commented Mar 18, 2019

Hotel

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
What was a design challenge that you encountered on this project? I kept going back and forth about how many classes to create. This was the biggest challenge of this project.
What was a design decision you made that changed over time over the project? I revamped all the classes. I originally started with 4 and ended up with 2.
What was a concept you gained clarity on, or a learning that you'd like to share? I needed to stop picturing the big picture and start small. I needed to focus on one part of the user story at a time instead of creating the whole program. I think it is good to know what the end point is but create it by going one by one.
What is an example of a nominal test that you wrote for this assignment? What makes it a nominal case? An example would be calculating total cost. I input the date range and based off of the date range, I expected the cost to calculate to $400. This is what I would normally expect.
What is an example of an edge case test that you wrote for this assignment? What makes it an edge case? I do not currently have an edge case test because I wasn't able to complete this project in its entirety. An example of an edge case would be if there are room numbers 0 or 21.
How do you feel you did in writing pseudocode first, then writing the tests and then the code? I found it very helpful and I need to do more of it instead of trying to do it all in my head and then code. I definitely see the value in test code and need to work more on it.

@CheezItMan
Copy link

Hotel

What We're Looking For

Feature Feedback
Baseline
Used git regularly Good number of commits and good commit messages
Answer comprehension questions Check
Design
Each class is responsible for a single piece of the program You are really only using one class.
Classes are loosely coupled See above
Wave 1
List rooms Check
Reserve a room for a given date range Check
List reservations for a given date Check
Calculate reservation price Check
Invalid date range produces an error Check
Wave 2
View available rooms for a given date range Check
Reserving a room that is not available produces an error Check
Wave 3 INCOMPLETE
Create a block of rooms
Check if a block has rooms
Reserve a room from a block
Test coverage 86%
Fundamentals
Names variables, classes and modules appropriately Check
Understanding of variable scope - local vs instance Check
Can create complex logical structures utilizing variables Check, good use of array methods
Appropriately uses methods to break down tasks into smaller simpler tasks You are doing all the work in your HotelLedger class
Understands the differences between class and instance methods Check
Appropriately uses iterators and Enumerable methods Check
Appropriately writes and utilizes classes Check, except that you are basically only using one class.
Appropriately utilizes modules as a namespace Check
Wrap Up
There is a refactors.txt file MISSING
The file provides a roadmap to future changes MISSING
Additional Feedback You got a lot accomplished with one class, but didn't really break things up into individual pieces. You hit some of the learning goals, but missed the design section. Take a look at the instructor reference version and ask me questions where you have them. Also let me know if you have questions about my feedback.

require "date"

describe "Reservation class" do
it "lists all reservations" do

Choose a reason for hiding this comment

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

Looks like you didn't get to testing reservations

[*(1..20)]
end

def reservations_on(in_date, out_date = nil)

Choose a reason for hiding this comment

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

How could the end date be nil?

Clever use of array methods!

@@ -0,0 +1,20 @@
module Hotel
class Reservation

Choose a reason for hiding this comment

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

It doesn't look like you're using this class.

# calculate total cost
# reserve the blocks
end
end

Choose a reason for hiding this comment

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

BTW next time put .DS_Store in your .gitignore file.

expect(rooms).must_equal [*(1..20)]
end

it "can reserve a room for a given date range" do

Choose a reason for hiding this comment

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

You should also verify that you can reserve a room starting on the same date the previous reservation ended.

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