====== Assignment 3 ====== **Due:** Thursday, **November 8**, 5:30pm (In class) Weight: 10% [[http://www.cse.yorku.ca/course_archive/2012-13/F/3311/report3/report3_spec.pdf|Specification]] [[http://www.cse.yorku.ca/course_archive/2012-13/F/3311/report3/3311_report3_given.zip|Code]] ---- ===== Guidelines ===== - Read comments in the file ''tool_rental.e''. They contain descriptions of methods and pre/post conditions can be extracted from there. - Write your assertions in natural language (e.g. as comments in the file). - translate required assertions into Eiffel. - Spec says://"__You are not to implement the body of the routines.__ But **you must implement all supporting quantifier and agent routines.** For your support routines you are to write appropriate assertions. **For agents the assertions should be compliable**. **For quantifiers, the assertions should be comments.** For all loops in your support routines, you are to write, as comments, loop invariant and variant clauses."// - To test your implementation of agents and quantifiers you may add a method in file ''owner.e'' (root class of the project) and call it in ''make'' feature. NOTE: * There may be repetitions in the new_tools and other lists (e.g. two hammers but they should have different ids). * in ''new_shop (new_tools : LINKED_LIST[TOOL_DESC] ; min_tool_count : INTEGER)'' ''min_tool_count'' is a min size of the list (can be more tools than min_tool_count in the list). So the ''new_tools.count'' should be more than ''min_tool_count'' **We will assess if contracts do compile (for compilable contracts) and if they are correct and complete for both compilable and written as comments.** ---- [[|Solutions]] ---- Cover Page: [[http://www.cse.yorku.ca/course_archive/2012-13/F/3311/report1/coverpage.pdf|pdf]] and [[http://www.cse.yorku.ca/course_archive/2012-13/F/3311/report1/coverpage.docx|doc]]