Coder Social home page Coder Social logo

ip's Introduction

Herro

ip's People

Contributors

alanlowzies avatar damithc avatar j-lum avatar jiachen247 avatar

ip's Issues

Insufficient checks on correctness of commands

Currently, there are insufficient checks to ensure that commands that a user has entered has the right number of parameters and the right options.

Examples:
image

image

image

Sometimes Sora accepts the command, but it should have been flagged out:
image

Improve Sora's response to new task added

As of the Level-4 increment, Sora's response to adding a new task has been simplified due to the new specific task types (to-do, event, and deadline types) which adds some complexities to her responses.

Example:
image

I hope to improve her responses to what it was before, if not better. An example can be seen on the CS2113T website

Dynamic Greetings, Responses, and Farewells cannot be Accounted for in Text UI Testing

Sora will greet the user with different greetings based on the time of the day. Likewise, she will bid the user farewell differently depending on the time. The same goes for the acknowledgements when responding to commands.

For example, Sora may acknowledge the list command differently:
image

Unfortunately, with the current method of semi-automatic text UI testing taught so far, I am unable to account for these dynamic texts in a single testing file. A possible solution I have thought of is to create different EXPECTED.txt files for each part of the day. However, even with this solution, dynamic responses will still not be accounted for.

Prevent user from entering pipe (`|`) characters in commands

As the saved file format utilises the pipe character to distinguish between different columns of data in the file, to improve program stability, the character should be prevented from being used by the user.

Expected behaviour:

  1. User enters command with at least one pipe character |
  2. Program rejects the command, even if all other syntaxes are correct.
  3. Program displays an appropriate message explaining why command was rejected.

Assumptions made for user

This issue is to keep track of assumptions that the user has to adhere to.

Can refer to this when writing up the user guide (if needed).

Throwing `EmptyListException` and changing return type to `void`

Implement EmptyListException on methods in the TasksManager class that needs to check if the task list is empty before executing their primary tasks.

Once the exception is implemented, should consider changing the return type of these methods. Currently, the return type is boolean:

  • true is returned when the action is executed successfully
  • false is returned when the action failed to execute properly (can consider implementing extra exception handling for this, if time permits).

With exception handling, it is likely that the method will only return true, which makes returning a boolean value to the calling method redundant.

Encoding Issues when Doing Text UI Testing

Sora prints kaomoji to give it some personality, but they cannot be properly captured in the testing files (i.e. ACTUAL.txt and EXPECTED.txt) due to some encoding issues.

Attempted Solutions:

  • Encoding with javac -encoding ISO-8859-1 (reference). Did not work.
  • Encoding with javac -encoding UTF-8. Does not really work, but the output is 'less intimidating' than the previous solution. Currently using this encoding.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.