Skip to content

Branches - Angele#32

Open
geli-gel wants to merge 27 commits intoAda-C12:masterfrom
geli-gel:master
Open

Branches - Angele#32
geli-gel wants to merge 27 commits intoAda-C12:masterfrom
geli-gel:master

Conversation

@geli-gel
Copy link

@geli-gel geli-gel commented Sep 9, 2019

Hotel

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
What was a design challenge that you encountered on this project? The biggest design challenge was figuring out how and where to write methods so they would be reusable.
What was a design decision you made that changed over time over the project? For wave 3, at first I was trying to have a complicated method that looped over either blocks or reservations to get the number of available rooms remaining in a block, and was also considering having block_id just be part of a normal Reservation class, but I ended up making a Block its own class and having each instance store its own list of available rooms that is updated whenever a reservation in a block is booked, so to access the available rooms for a block you just need to know which block you're curious about, instead of having to know about all blocks to loop through them.
What was a concept you gained clarity on, or a learning that you'd like to share? I think I gained more clarity on what an instance of a class looks like in the overall picture of a program, and how its self or attributes can be changed by itself or by methods that affect in from other classes. I also gained more understanding of variable scope since I understand now that the instance variables for a class are available to the instance methods even if the instance method was called from somewhere else.
What is an example of a nominal test that you wrote for this assignment? What makes it a nominal case? A test for the total_cost method for Reservation class, "returns total cost of the reservation" is an example of a nominal test since the setup for the test is a normal, valid, simple reservation that should have no problems.
What is an example of an edge case test that you wrote for this assignment? What makes it an edge case? A test for valid dates for Reservation class, "raises a ReservationDateError if check_out_date is before check_in_date", is an example of an edge case test since, even though raising an error is something I would want to normally happen if the constructor method was given a check_out_date before a check_in_date, it's not normal to receive invalid dates.
How do you feel you did in writing pseudocode first, then writing the tests and then the code? I might not have done it exactly like that each time I was trying to meet a requirement but I definitely felt good about using TDD and pseudocode. I usually wrote just the signature of a method, then wrote tests, then wrote the pseudocode, then the code, but sometimes did write the pseudocode, then the code, then the tests to make sure it was working as I hoped. I think I wrote psudocode and code first during the times I was sure of what I needed, and tests first during the times I wasn't sure of what I needed. But looking back I think when I wrote tests first I felt more confident writing the pseudocode and code afterwards.

…' instead of 'ReservationError' and changed hard coded dates to dynamic dates in test
…lable_rooms_for and added tests and defined new SystemReservationError
…tion method, and status method. added tests.
…e room from Block's list of available rooms. updated create_block to return the block it creates. added tests for reserve_blocked_room
@jmaddox19
Copy link

Hotel

What We're Looking For

Test Inspection

Workflow yes (X) / yes but no test / no
Wave 1
List rooms X
Reserve a room for a given date range X
Reserve a room (edge case) X
List reservations for a given date X
Calculate reservation price X
Invalid date range produces an error X
Test coverage Good!
Wave 2
View available rooms for a given date range X
Reserving a room that is not available produces an error X
Test coverage X
Wave 3
Create a block of rooms X
Check if a block has rooms X
Reserve a room from a block X
Test coverage Good!

Code Review

Baseline Feedback
Used git regularly Great job!
Answer comprehension questions X
Design
Each class is responsible for a single piece of the program X
Classes are loosely coupled X
Fundamentals
Names variables, classes and modules appropriately X
Understanding of variable scope - local vs instance X
Can create complex logical structures utilizing variables X
Appropriately uses methods to break down tasks into smaller simpler tasks Great job making extra helper methods in ManagementSystem!
Understands the differences between class and instance methods N/A
Appropriately uses iterators and Enumerable methods Definitely!
Appropriately writes and utilizes classes Yes
Appropriately utilizes modules as a namespace Yes
Wrap Up
There is a refactors.txt file Yes
The file provides a roadmap to future changes Yes

Overall Feedback

Incredible work! You've built your first project with minimal starting code. This represents an incredible milestone in your journey, and you should be proud of yourself!

I am particularly impressed by the way that you tested so many edge cases and built all of the functionality exactly to specification.

So good!

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