202 Class Diagram

Estimated time to read: 1 minute

classDiagram

    class SweetTreatsAPI {
        - customerOrderInput: CustomerOrderInput
        - selectedDrivers: List::SelectedDrivers
        + setDeliveryDistance()
        + setRefrigerationRequired()
        + setShippingTime()

        + getDeliveryDistance()
        + getRefrigerationRequired()
        + getShippingTime()

        + selectDriver()


    }

    class CustomerOrderInput  {
        - deliveryDistance: float
        - refrigerationRequired: boolean
        - shippingTime: LocalDateTime
    }

    class Driver {
        - driverName: String
        - startHour: LocalTime
        - endHour: LocalTime
        - refrigeratorAbility: boolean
        - maxDeliveryDistance: int
        - vehicleType: String
        - perMileCost: float
        - preferredStatus: boolean

        + getDriverName()
        + getStartHour()
        + getEndHour()
        + getRefrigeratorAbility()
        + getMaxDeliveryDistance()
        + getVehicleType()
        + getPerMileCost()
        + getPreferredStatus()
    }

class DriverDatabase {
        - driverDetails: List::Drivers

        + getDatabase()

}



    SweetTreatsAPI <-- Driver

    Driver <-- DriverDatabase

    CustomerOrderInput --> SweetTreatsAPI
  • Given a refrigeration value
  • When set to false
    • Then get returns false
  • When set to True

    • Then get returns True
  • Given a distance value

  • When distance over 100
    • Then return String(Out of Delivery Range)
  • When distance is equal to or less than 0

    • Then return float(0)
  • Given a shipping time of (loop test between 07:00 and 20:00)

  • When set

    • Then return set value
  • Given a driver has refrig true

  • When driverCheck called
    • Then return only drivers with refrig ability