Author: Okke van Eck
GitHub: Link to the original repo
Check50 Docs: https://cs50.readthedocs.io/check50/
Note: All test.py
files are gitignored!
This repository has the check50 checks for the heuristics (or programmeertheorie) cases,
as well as an overview of the necessary changes that needed to be made to the original version of the course.
You must have python3 installed and a possibility for creating a virtual environment. The example below uses the python3-venv package, but you can use your own as well.
sudo apt-get install python3 python3-venv
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
It is possible to run the check50 tests via the online version on GitHub, or
locally in a development environment. The different options are separated in
sections. For all checks, you must be in the folder of the check itself. So
cd
into the directory of the case you want to test. Let's
denote the folder name of the case as <case>
.
You can run the checks on GitHub on the check50-servers by running the command:
check50 OkkeVanEck/check50_heuristieken/master/<case>
You can run the checks on GitHub locally by running the same command with the
--local
flag specified:
check50 --local OkkeVanEck/check50_heuristieken/master/<case>
You can run your local version of a check by running check50
with the
--dev
flag in the folder where the .check50.yaml
is located:
check50 --dev .
There are some changes required for the cases. The changes are de described below, divided by case. For each case it will be necessary to write an explanation on how to use the check50.
- Remove spaces behind comma's in
example_output.csv
- Add a footer to output.csv with the score:
score,<integer>
- Remove spaces behind comma's in
example_output.csv
- Ask for all four corners in order instead of two
- Rename header to
structure,corner_1,corner_2,corner_3,corner_4,type
- Rename header to
- Also give four corners in the neighbouthood files
- Add a footer to output.csv with the networth:
networth,<integer>
- Change the project info to only except a map dimension of 180x160 where 180 is the width.
- Change the given neighbourhood files and
example_output.csv
to have the 180x160 dimension instead of 160x180.
- Edit
Noord-Holland
in part one intoNoord- en Zuid-Holland
- Change
ConnectiesHolland.csv
distances into floats - Make the following changes to
example_output.csv
:- Remove spaces behind comma's
- Change header to
train,stations,problem
- Add footer with
score,<integer>,<problem>
where problem is eitherNL
orNZH
, representing the corresponding problem - Change
Amsterdam Amster
intoAmsterdam Sloterdijk
- Change
Goude
intoGouda
- Change filenames to English in every file
- Create
StationsHolland.csv
file in the same way asStatinosNational.csv
- Add header
station,x,y
toStationsNational.csv
andStationsHolland.csv
- Add header
station1,station2,distance
toConnectionsHolland.csv
andConnectionsNational.csv
- Make ints from the floats in
ConnectionsNational.csv
or vice versa inConnectionsHolland.csv
- Remove spaces behind comma's in
example_output.csv
and in board csv files - Fix 12x12 board by removing the V-car, since it overlaps the B-car
- Define under the Output section that the last move must be the red car moving to the border.
- Add something about the boards being 1-indexed instead of 0-indexed.
- Add the created input files.
- Add information about the different file extensions (.shp and .shx are used for visualisations)
- Add information about the
neighbours.csv
files. - Make
example_output.csv
and add a section about it
- Remove
.txt
files from data. - Remove spaces and brackets from data files and rename everything to English.
- Turn
example_output.json
into English. - Add header object to
example_output.json
with district and costs. - Remove parentheses from coordinates in
example_output.json
. - Add explanation that cables have to be placed on top of the house and battery.
- Add info about cost specifier, i.e. use
cost-own
orcost-shared
inoutput.csv
. - Maybe add more info how the
.json
is structured in problem.
- Rename
pritn.csv
forchip_1
toprint.csv
. - Rewrite output alinea to be more precise about copying the
example_output.csv
and not the other two example files. - Remove spaces from all
.csv
files. - Add footer row with the chip number, net number and the length to the
example_output.csv
- Add info about how to use the footer in case.
- Add info about the optional 3rd axis for coordinates.
- Fix wrong wires and wrong letters in the example data.