Skip to content

Repository checklist for third task #11

Description

@pStrachota
  • Starting point
    • all UT are green
    • the program behaves as expected (intermediate approval test)
  • Data Layer
    • responsibility of this layer is
      • to represent boundaries of the movement rectangle if necessary
      • implement balls behavior as self-contained independent entities
      • save diagnostic data to a file
    • protect balls velocity against any influence from other balls and the environment behavior
    • balls implementation uses parallel programming if applicable (depends on the run time platform)
    • prove that the diagnostic logging doesn't have impact on the balls behavior
  • Logic Layer
    • responsibility of this layer is to manage movement rectangle boundaries and balls interaction (collisions)
    • prove that the protection of data (balls position on abstract table during collisions detection) integration is implemented
    • Logic uses only the abstract Data layer API
  • Presentation Layer (mvvm)
    • responsibility of this layer is to manage the graphical user interface (GUI)
    • user => GUI interoperability must be implemented using interactive programming only
    • GUI => the user interoperability must be implemented using reactive programming only (timer is not allowed)
    • interoperability of the GUI and underlying layers must be synchronized
    • prove that the protection of data (balls position on the screen) integration is implemented
  • Testing
    • Unit Test - layers are tested independently using dependency injection (additional framework is not required)
    • Mock may be used for testing purpose (expected but not required)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions