You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

7.0 KiB

General

Can you confirm that the program reads a file that describes the processes, analyzes the entire file and proposes a valid solution?
Does the project contains a checker program?
Can you confirm that at least two configuration files were made by the project owner?
Can you confirm that those files are not a copy/paste of the ones provided?
Can you confirm that one of those files ends when the resources are consumed and the other one rotate indefinitely?
Can you confirm that those files obey the given file format?

Functional

Try to run the stock exchange program with the files created by the owner of the project.
Can you confirm that those files are working with the program?
Try to run the stock exchange program with the files created by the owner of the project.
Does the program produces a log file?
Can that log file be used by the checker program?
Try to run the stock exchange program with the simple example, "./stock examples/simple/simple 1".
$ go run . examples/simple/simple 1
Main Processes :
 0:buy_materiel
 10:build_product
 40:delivery
No more process doable at cycle 61
Stock :
 euro => 2
 materiel => 0
 product => 0
 client_content => 1
$
Does the display presents a result similar to the one above (optimizing time;client_content)?
Try to run the stock exchange program with the build example, "./stock examples/build/build 10".
$ go run . examples/build/build 10
Main Processes :
 0:do_shelf
 0:do_shelf
 0:do_shelf
 0:do_doorknobs
 0:do_doorknobs
 0:do_background
 20:do_cabinet
No more process doable at cycle 51
Stock :
 board => 0
 doorknobs => 0
 background => 0
 shelf => 0
 cabinet => 1
$
Does the display presents a result similar to the one above (optimizing time;cabinet)?
Try to run the stock exchange program with the seller example, "./stock examples/seller/seller 10".
$ go run . examples/seller/seller 10
Main Processes :
 0:optimize_profile
 0:code
 1:code
 101:optimize_profile
 101:sell_skills
 101:sell_skills
 101:code
 102:code
 111:code
 211:optimize_profile
 211:sell_skills
 211:sell_skills
 212:sell_skills
 212:code
 222:code
 322:sell_skills
No more process doable at cycle 333
Stock :
 repos => 0
 transport => 0
 skills => 1
 fame => 0
 euro => 601
$
Does the display presents a result similar to the one above (optimizing euro)?
Try to run the stock exchange program with the fertilizer example, "./stock examples/fertilizer/fertilizer 1".(fertilizer example is self-powered and rotates indefinitely)
$ go run . examples/fertilizer/fertilizer 1
Main Processes :
 ...
 3973515:eat_apple
 3973516:plant_apple
 3973616:pick_apple
 3973620:eat_apple
 3973621:plant_apple
 3973721:pick_apple
 3973725:eat_apple
No more process doable at cycle 3973727
Stock :
 apple => 0
 you => 1
 seed => 1
 fertilizer => 1
 happiness => 37846
 apple_tree => 0
$
Does the display presents a result similar to the one above, (optimizing happiness), choosing a reasonable shutdown condition and showing that the whole process went well for several times?
Run the same example with a different waiting time "./stock examples/fertilizer/fertilizer 0.0003".(fertilizer example is self-powered and rotates indefinitely)
Does the display presents a result with a significantly shorter number of cycles comparing to the previous question output?
Try to run the stock exchange program with the error1 example, "./stock examples/errors/error1 1".
$ go run . examples/errors/error1 1
Error while parsing `:(euro:8):(material:1):10`
Exiting...
$
Does the display presents a result similar to the one above, where it shows the error?
Try to run the stock exchange program with the error2 example, "./stock examples/errors/error2 1".
$ go run . examples/errors/error2 1
Missing processes
Exiting...
$
Does the display presents a result similar to the one above, where it shows the error?
Try to run the stock exchange program with the error3 example, "./stock examples/errors/error3 1".
$ go run . examples/errors/error3 1
Error while parsing `optimize:(euro)`
Exiting...
$
Does the display presents a result similar to the one above, where it shows the error?
Try to run the checker program with the build and the build.log example, "./checker examples/build/build examples/build/build.log".
$ go run ./checker examples/build/build examples/build/build.log
Evaluating: 0:do_shelf
Evaluating: 0:do_shelf
Evaluating: 0:do_shelf
Evaluating: 0:do_doorknobs
Evaluating: 0:do_doorknobs
Evaluating: 0:do_background
Evaluating: 20:do_cabinet
Trace completed, no error detected.
$
Does the display presents a result similar to the one above, where it shows the last cycle and the proof that the sequence is correct?
Try to run the checker program with the seller and the seller.logexample, "./checker examples/seller/seller examples/seller/seller.log".
$ go run ./checker examples/seller/seller examples/seller/seller.log
Evaluating: 0:optimize_profile
Evaluating: 0:code
Evaluating: 1:code
Evaluating: 101:optimize_profile
Evaluating: 101:sell_skills
Evaluating: 101:sell_skills
Evaluating: 101:code
Evaluating: 102:code
Evaluating: 111:code
Evaluating: 211:optimize_profile
Evaluating: 211:sell_skills
Evaluating: 211:sell_skills
Evaluating: 212:sell_skills
Evaluating: 212:code
Evaluating: 222:code
Evaluating: 322:sell_skills
Trace completed, no error detected.
$
Does the display presents a result similar to the one above, where it shows the last cycle and the proof that the sequence is correct?
Try to run the checker program with the testchecker and testchecker.log example, "./checker examples/checkererror/testchecker examples/checkererror/testchecker.log".
$ go run ./checker examples/checkererror/testchecker examples/checkererror/testchecker.log
Evaluating: 0:do_shelf
Evaluating: 0:do_shelf
Evaluating: 0:do_doorknobs
Evaluating: 0:do_doorknobs
Evaluating: 0:do_background
Evaluating: 20:do_cabinet
Error detected
at 20:do_cabinet stock insufficient
Exiting...
$
Does the display presents a result similar to the one above, where it shows the last cycle and the proof that the sequence has errors?

Bonus

+Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc)
+Does the code obey the good practices?
+Create your own file and run the stock exchange program with it. Does the program work like it should?