TIMTehtava.Templates
1.0.2
dotnet new install TIMTehtava.Templates::1.0.2
tim-tehtava templates
Sisältää kaksi erilaista projektimallia C#-kielisten ohjelmien automaattiseen arviointiin TIM-järjestelmässä. Käytännössä malleilla arvioidaan yksikkötestien läpäisyä yhden funktion osalta. Mallit tukevat seuraavia tapauksia:
- Yksiparametrisen funktion arviointi
- Kaksiparametrisen funktion arviointi
Mahdollisten tulosteiden tutkiminen ei ole tällä hetkellä mahdollista.
Useita eri funktioita on mahdollista testata muuttamalla pääohjelmaa siten että kullekin funktiolle kutsutaan Testaa-funktiota. Tästä ei toistaiseksi ole esimerkkiä kuitenkaan saatavilla.
Käyttö
- Asenna projektimallit komennolla
dotnet new install TIMTehtava.Templates
Luo uusi projekti Riderissa tai Visual Studiossa.
Säädä arviointikohteet (yksikkötestit), niistä saatavat pisteet ja virheilmoitukset osaamistavoitteiden mukaisesti käyttäen
Arviointikohteet
-tietorakennetta.Julkaise projekti JY:n GitLabiin.
Luo private access token (PAT) GitLabissa, lukuoikeus riittää. PATia tarvitaan, jotta TIM voi lukea GitLabista projektiisi liittyviä tiedostoja.
Luo TIM-dokumenttisi Settingsiin seuraavat makrot:
ADDFOREVERY:|!!
{% macro gitlab_url(orig) -%}
{% set path = orig.replace("https://gitlab.jyu.fi/", "") %}
{% set project = path[:path.find("/-/")].replace("/", "%2F") %}
{% if path.find("blob/master") >= 0 -%}
{% set file = path[path.find("master")+7:].replace("/", "%2F") %}
{% set branch = "master" %}
{%- elif path.find("blob/main") >= 0 -%}
{% set file = path[path.find("main")+5:].replace("/", "%2F") %}
{% set branch = "main" %}
{%- endif %}
https://gitlab.jyu.fi/api/v4/projects/%%project%%/repository/files/%%file%%/raw?ref=%%branch%%&private_token=%%pat%%
{%- endmacro %}
!!
macros:
pat: glpat-TÄHÄN_OIKEA_PAT
Vinkki: Makroja voi lisätä myös ns. johdantodokumenttiin (preamble), jolloin niitä ei tarvitse lisätä jokaiseen dokumenttiin erikseen. Ohjeet johdantodokumentin luomiseen löytyvät TIMistä.
- Luo TIMiin csplugin, jonka YAMLissa on seuraavan kaltainen rakenne:
``` {plugin="csPlugin" #tehtava}
type: cs,comtest
lazy: false
rows: 6
viewCode: true
indent: 4
fullfile: %%gitlab_url("https://gitlab.jyu.fi/tie/ohj1/2023k/demot-tim/-/blob/main/Tentti3/Tehtava/Tehtava.cs")%%
filename: Tehtava
extrafiles:
- name: Arviointikohde.cs
file: %%gitlab_url("https://gitlab.jyu.fi/tie/ohj1/2023k/demot-tim/-/blob/main/Tentti3/Tehtava/Arviointikohde.cs")%%
- name: Tarkistaja.cs
file: %%gitlab_url("https://gitlab.jyu.fi/tie/ohj1/2023k/demot-tim/-/blob/main/Tentti3/Tehtava/Tarkistaja.cs")%%
sourcefiles: Tehtava.cs Arviointikohde.cs Tarkistaja.cs
```
Huomioi, että fullfile-kohdan tiedoston nimen (tässä Tehtava.cs
) on oltava sama kuin sourcefiles-kohdassa.
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.