---
# System prepended metadata

title: Jam 07 - Checklist
tags: [polymorphism, "2 \U0001F4DD in writing", inheritance, uml, interfaces, junit, abstract-classes, "3 \U0001F9EA in testing", "4 \U0001F973 done"]

---

---
title: "Jam 07 - Checklist"
tags: 
  - 2 📝 in writing
  - 3 🧪 in testing
  - 4 🥳 done
  - inheritance
  - interfaces
  - polymorphism
  - uml
  - abstract-classes
  - junit
---
<!-- markdownlint-disable line-length single-h1 no-inline-html -->
<!-- markdownlint-configure-file { "ul-indent": { "indent": 4 }, "link-fragments": {"ignore_case": true} } -->

{%hackmd dJZ5TulxSDKme-3fSY4Lbw %}

# Assignment Checklist

:::info
🎯 **Assignment Checklist**

**Exercise 1 - Interface Implementation & Testing**

- [ ] Create Searchable interface
- [ ] Implement interface in Product and Transaction classes
- [ ] Add search functionality to ProductCatalog
- [ ] Write test cases
- [ ] Verify all tests pass

**Exercise 2 - Exception Handling**

- [ ] Create InvalidPriceException class
- [ ] Update Product class
- [ ] Modify implementations
- [ ] Update test cases
- [ ] Verify all tests pass

**Exercise 3 - State Diagrams**

- [ ] Create Register state diagram
- [ ] Document states and transitions
- [ ] Export diagram
- [ ] Save in correct location

**Exercise 4 - Employee Hierarchy**

- [ ] Create Employee abstract class
- [ ] Implement Cashier and Manager classes
- [ ] Write test cases
- [ ] Verify inheritance behavior

**Exercise 5 - System Integration**

- [ ] Add Employee field to Register
- [ ] Implement login/logout
- [ ] Update transaction methods
- [ ] Create integration tests
- [ ] Verify system behavior

:::
