Skip to content

rexcfnghk/marksix-parser

Repository files navigation

marksix-parser Build status Build Status Coverage Status

A Mark Six result parser written in F#

Installation

This project uses Paket as the package manager and FAKE as the build automation tool.

Run build.sh (Mac/Linux) or build.cmd (Windows) to (actual FAKE targets used quoted in square brackets):

  • Install dependencies using Paket
  • Clean ./build/, ./tests/, and ./release/ directories [Clean]
  • Build the app (to ./build/) [BuildRunner]
  • Build the tests (to ./tests/) [BuildTests]
  • Run xUnit tests [RunTests]
  • Run OpenCover and save results (to ./tests/results.xml) [OpenCover]
  • Zip the artifact (to ./release/marksix-parser.zip) [Pack]

If you simply want to install dependencies and start developing, run .paket/paket.bootstrapper.exe and .paket/paket restore.

Local code coverage report can ge generated by ./build RunReportGenerator.

AppVeyor CI build and Travis CI build will also trigger OpenCover test coverage being sent to Coveralls

Sample output

Enter draw results
1
2
3
4
5
6
7
The draw results are DrawResults
  (DrawnNumber 1,DrawnNumber 2,DrawnNumber 3,DrawnNumber 4,DrawnNumber 5,
   DrawnNumber 6,ExtraNumber 7)
   
Enter user's #1 draw
1
2
3
4
5
6
Continue entering user's draw #2 [YyNn]?
n
User's draw #1: UsersDraw (1,2,3,4,5,6)
You entered 1 user's draw(s)
Your prize for draw #1 is First
Enter draw results
1
2
3
4
5
6
7
The draw results are DrawResults
  (DrawnNumber 1,DrawnNumber 2,DrawnNumber 3,DrawnNumber 4,DrawnNumber 5,
   DrawnNumber 6,ExtraNumber 7)
   
Enter user's #1 draw
1
2
3
4
48
49
Continue entering user's draw #2 [YyNn]?
n
User's draw #1: UsersDraw (1,2,3,4,48,49)
You entered 1 user's draw(s)
Your prize for draw #1 is Fixed prize of HK$640.00
Enter draw results
1
1
ErrorMessage "Adding duplicate elements"
2
3
4
5
6
50
ErrorMessage "Input out of range"
7
The draw results are DrawResults
  (DrawnNumber 1,DrawnNumber 2,DrawnNumber 3,DrawnNumber 4,DrawnNumber 5,
   DrawnNumber 6,ExtraNumber 7)
   
Enter user's #1 draw
1
2
3
4
48
49
Continue entering user's draw #2 [YyNn]?
y
Enter user's #2 draw
2
3
4
sdf
ErrorMessage "Input is not an integer"
5
6
7
Continue entering user's draw #3 [YyNn]?
n
User's draw #1: UsersDraw (1,2,3,4,48,49)
User's draw #2: UsersDraw (2,3,4,5,6,7)
You entered 2 user's draw(s)
Your prize for draw #1 is Fixed prize of HK$640.00
Your prize for draw #2 is Second