Welcome, tester. We are happy to have you on board the CMDo team. Here are some instructions to get you started.
- Download
[F11-C2][CMDo-v0.5].jar
from the Releases page. - On first run, the folder
data
is created where the JAR file is run. It contains storage filecmdo.xml
. This is the default storage file name. All storage files must have this name. You are free to rename the folderdata
to whatever you want, see step 7 for more) - Quit the application by typing in
exit
and deletecmdo.xml
. - Download
SampleData.xml
from the directory\src\test\data\ManualTesting\
intodata
. - Rename
SampleData.xml
tocmdo.xml
. - Run the application. You are now ready to begin testing!
- We recommend that you perform the tests in the order listed so that we fit in our assumptions well. (i.e.
delete 1
when there is nothing at index 1 returns a different outcome) If you do so, set your system time and date to Nov 5, 2016, 9pm. - Optional: If you decide to change the name of the folder
data
, to, sayDropBox
, you must also let CMDo know. InCMDo
, type inYou would have tested our storage change functionality already. Well done!storage DropBox
CMDo hosts a couple of interesting features that we need you to help test.
We have provided some sample test cases which you can start with. The input and expected output at the result display box below the command box are provided for your reference.
Adds a new task. Tasks have
- 'details'
- date and time (both, either, or none; start and/or end)
- priority levels
HIGH, MEDIUM, LOW, or NONE
- multiple [tags]
add new task # "Encapsulate your details in ' '"
add '' # "Blank task? Did you mean to block out a date? Type help to see usage."
add 'hershey's hersh' # Adds a task 'hershey's hersh'
add 'date' 10/31/2016 # Adds a task 'date' due on 10/31/2016
add 'time' 1300 # Adds a task 'time' due today at 1pm
add 'range' tmr 1300 to 12/31 1400 # Adds a task 'range' from tomorrow 1pm to 12/31 2pm
add 1300 '5pm' /high # Adds a task '5pm' due today at 1pm with priority HIGH
add 'tag' -tag1 -tag2 # Adds a task 'tag' with tags tag1 and tag2
add 'invalid tag' -/high # "Tags names should be alphanumeric"
Blocks are also tasks. Just that they don't allow other tasks to be added in that time slot they occupy. You can add a block with a time already taken up by a task, but not the other way round. Blocks must have
- 'details'
- date and time (both, either, or none; start and/or end)
They may have
- multiple [tags]
They do not have
- priority levels
HIGH, MEDIUM, LOW, or NONE
block new # "Encapsulate your details in ' '"
block `` # "Blank task? Did you mean to block out a date? Type help to see usage."
block 'hershey's hersh' # "Specify a time/date range for the block."
block 'wedding' tmr 1300 to 12/31 1400 # Adds a task 'wedding' occupying tomorrow 1pm to 12/31 2pm
block 'exam' 1300 # Adds a task 'exam' occupying today 1pm to 2pm
block 2300 '12pm' # Adds a task '12pm' occupying today 11pm to tomorrow 12am
add 'tag' tomorrow -tag1 -tag2 # "Time slot blocked! Here is a list of all your blocked slots."
la # Shows all tasks in the list
We do an la
to reset the list to show all tasks. It is elaborated upon here.
Doing a task relegates it to the done list forever (unless you undo). Note that blocked tasks can't be done. They must be deleted.
The command takes in an index and only an index.
done 1 lol # "Invalid command format!"
done 1 # "Done task: date"
done 2 # "You can't do a blocked timeslot... Right?"
ld # Shows all done tasks in the list.
done 1 # "Already done!"
la # Shows all tasks in the list
We do an ld
to reset the list to show all done tasks. It is elaborated upon here.
Deleting a task. Who knew it was that simple? Note that deleted tasks can be retrieved by undo
.
The command takes in an index and only and index.
delete 1 # "Deleted task: day"
delete 999 # "The task index provided is invalid"
The search built in to CMDo is both fuzzy and powerful. Meaning that you may search for tasks and blocks with details up to 60% similar to any of your keywords. Search includes all terms you that you have entered. Narrow it down yourself if you have to.
There are no qualifiers or flags to add (unless you are searching for done tasks, use find --done
). Just type everything out.
Before we test this, let's quickly add some more tasks to improve our coverage.
add 'tag1' 5pm
add 'ranges'
Ok, lets go!
find 5pm # '5pm' and 'tag1' found
find tag1 # 'tag1' and 'tag' found
find wdding # 'wedding' found
find ranges # 'range', 'ranges' found
find 1300 # '5pm', 'exam', 'time', 'range', 'wedding' found
find 1300 tag1 # '5pm', 'exam', 'time', 'tag1', 'range', 'wedding', 'tag' found.
find --done # 'date' found.
la
Edit changes the parameters of the desired task in the task list. Again, you do not have to use flags. Just type it all out and we will handle it for you.
To edit
-
Details
- Encapsultate details in ' '
-
Date and time
- Do it as normal, but note that if you enter
-
Start time only: Only start time will be changed
edit 6 6pm # 'range' has date 11/06/2016 1800 to 12/31/2016
-
Time only: Time will be changed and date reset to today's date
edit 7 6pm to 7pm # 'range' has date 11/05/2016 1800 to 11/05/2016 1900
-
Start date only: Only start date will be changed
edit 1 11/7/2016 # '6pm' has date 11/7/2016 1300
-
Date only: Date will be changed and time remains the same
edit 6 11/20 to 11/21 # 'wedding' has date 11/20/2016 1pm to 11/21/2016 2pm
-
Start date and time only: Only start date and time will be changed.
edit 5 11/4 2301 # '12pm' has date 11/4/2016 2301 to 11/6/2016
-
Date and time: Exactly as is
edit 5 11/4 2301 to 11/5 2pm # '12pm' has date 11/4/2016 2301 to 11/5/2016 1400
-
To completely remove all date/time parameters and make the task floating, type in
floating
-
- Do it as normal, but note that if you enter
-
Priority
- Use a
/
before the desired priority - If no priority, use
no priority
- Use a
-
Tags
- Use a
-
before the desired tag. - All other tags get overwritten. Be careful!
- Use a
The following tests test for the other kinds of non-date/time parameters. You may give it a try.
edit 1 # "'Invalid command format!"
edit 6 '6pm' # '5pm' becomes '6pm'
edit 7 -love /high # 'wedding' gets tag -love and HIGH priority
All tests for lists have inadvertently been done by you. Congratulations! You may run through them here again if you want
list all
la
done 1
list done
ld
list block
lb
You may undo and redo any action, except undo and redo themselves.
la
add 'to be undone'
undo # "Undone!"
redo # "Redone!"
redo # "Nothing to redo."
CMDo is also built for the keyboard junkie. You may use your keyboard to navigate.
select 1 # Preset the list selection to index 1.
down
down
down
up
up
up
d
d
d
u
u
u
u # "You can't go up no more."
bottom # "Right at the bottom."
d # "You can't go down no more!"
top # "I can see my house from here."
u # "You can't go up no more."
You have also already performed the storage test in the setup instructions. Note that the storage file is named CMDo.xml
and this cannot be changed.
storage test # Changes the storage file container to test. Watch the status bar at the bottom right.
add 'blah'
At this point when you check the CMDo.xml
file in the new directory /test/
you will see the latest updated version of the storage file, with task 'blah' at the end. In the old directory /data/
, the old version without 'blah' is found. Now let's move it back.
storage data # Changes the storage file container to data. Watch the status bar at the bottom right.
Go to /data/
and check CMDo.xml
. You should see that task 'blah' has been added.
Thank you for being a part of the testing for CMDo. The current version you are testing is v0.5. If you have any suggestions or feedback, please email us at justin@catharsys.co.
=== Last updated Nov 7, 2016