mtrsk / Horatius

Part of an interview process with the .NET stack, done the functional (first) way.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Horatius

Build Status Build Status

     Then out spake brave Horatius,
          The Captain of the Gate:
     "To every man upon this earth
          Death cometh soon or late.
     And how can man die better
          Than facing fearful odds,
     For the ashes of his fathers,
          And the temples of his gods,

Lays of Ancient Rome - Horatius, XXVII.

Structure

├── Dockerfile
├── files
│   ├── matriculasSemDV.txt
│   └── matriculasParaVerificar.txt
├── Horatius.sln
├── nix
│   ├── .nixpkgs-version.json
│   └── pinned-nixpkgs.nix
├── README.md
├── shell.nix
└── src
    ├── App
    │   ├── App.fsproj
    │   ├── AppView.fs
    │   ├── Lib.fs
    │   └── Main.fs
    ├── CLI
    │   ├── CLI.fsproj
    │   └── Program.fs
    ├── Verification
    │   ├── Library.fs
    │   └── Verification.fsproj
    └── Verification.Tests
        ├── Program.fs
        ├── Tests.fs
        └── Verification.Tests.fsproj

Source Code

  • Verification: A classlib which implements the main components of the project.
  • Verification.Test: Runs XUnit tests for the Verification classlib.
  • CLI: A console application that runs the Verification on both the matriculasSemDV.txt and matriculasParaVerificar.txt.
  • App: The GUI Application, mostly boilerplate. Created with the AvaloniaUI and it's wrapper for Elm-like MVU GUIs in F#.

Running the project

  • Tests

    $ cd src/Verification.Tests
    $ dotnet test
  • CLI

    $ cd src/CLI
    $ dotnet build
    $ dotnet run
    USAGE: horatius [--help] [--all]
    
    OPTIONS:
    
        --all                 Parses both files and creates new ones.
        --help                display this list of options.
    $ dotnet run --all
    Loading File: ../../files/matriculasSemDV.txt
    File written in the current directory
    Loading File: ../../files/matriculasParaVerificar.txt
    File written in the current directory
  • GUI

    $ cd src/App
    $ dotnet build
    $ dotnet run

GUI

About

Part of an interview process with the .NET stack, done the functional (first) way.


Languages

Language:F# 94.8%Language:Nix 3.7%Language:Dockerfile 1.1%Language:Makefile 0.4%