From 22b4361f69345a141c9a6881c562161a483439e4 Mon Sep 17 00:00:00 2001 From: dmitry Date: Sun, 16 Aug 2020 20:50:24 +0300 Subject: [PATCH 1/2] All files added --- semester4/PointFree/PointFree.sln | 22 +++++++++++++++ semester4/PointFree/PointFree/PointFree.fs | 12 +++++++++ .../PointFree/PointFree/PointFree.fsproj | 11 ++++++++ .../PointFree/PointFreeTests/PointFreeTest.fs | 22 +++++++++++++++ .../PointFreeTests/PointFreeTests.fsproj | 27 +++++++++++++++++++ semester4/PointFree/PointFreeTests/Program.fs | 1 + 6 files changed, 95 insertions(+) create mode 100644 semester4/PointFree/PointFree.sln create mode 100644 semester4/PointFree/PointFree/PointFree.fs create mode 100644 semester4/PointFree/PointFree/PointFree.fsproj create mode 100644 semester4/PointFree/PointFreeTests/PointFreeTest.fs create mode 100644 semester4/PointFree/PointFreeTests/PointFreeTests.fsproj create mode 100644 semester4/PointFree/PointFreeTests/Program.fs diff --git a/semester4/PointFree/PointFree.sln b/semester4/PointFree/PointFree.sln new file mode 100644 index 0000000..b898abd --- /dev/null +++ b/semester4/PointFree/PointFree.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "PointFree", "PointFree\PointFree.fsproj", "{6F6E5CF2-7DB2-4763-88F7-0F7308AB488F}" +EndProject +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "PointFreeTests", "PointFreeTests\PointFreeTests.fsproj", "{98C11D07-A7FA-42DC-B8D9-196DAA909B55}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6F6E5CF2-7DB2-4763-88F7-0F7308AB488F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6F6E5CF2-7DB2-4763-88F7-0F7308AB488F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6F6E5CF2-7DB2-4763-88F7-0F7308AB488F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6F6E5CF2-7DB2-4763-88F7-0F7308AB488F}.Release|Any CPU.Build.0 = Release|Any CPU + {98C11D07-A7FA-42DC-B8D9-196DAA909B55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {98C11D07-A7FA-42DC-B8D9-196DAA909B55}.Debug|Any CPU.Build.0 = Debug|Any CPU + {98C11D07-A7FA-42DC-B8D9-196DAA909B55}.Release|Any CPU.ActiveCfg = Release|Any CPU + {98C11D07-A7FA-42DC-B8D9-196DAA909B55}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/semester4/PointFree/PointFree/PointFree.fs b/semester4/PointFree/PointFree/PointFree.fs new file mode 100644 index 0000000..73ff07c --- /dev/null +++ b/semester4/PointFree/PointFree/PointFree.fs @@ -0,0 +1,12 @@ +module PointFree + +///Takes list and number and multiplies every element of list to a number +let mapMultiply x l = List.map (fun y -> y * x) l + +let mapMultiply1 (x: int): int list -> int list = List.map (fun y -> y * x) + +let mapMultiply2 (x: int): int list -> int list = List.map (fun y -> (*) x y) + +let mapMultiply3 (x: int): int list -> int list = x |> (*) |> List.map + +let mapMultiply4: int -> int list -> int list = List.map << (*) \ No newline at end of file diff --git a/semester4/PointFree/PointFree/PointFree.fsproj b/semester4/PointFree/PointFree/PointFree.fsproj new file mode 100644 index 0000000..847a271 --- /dev/null +++ b/semester4/PointFree/PointFree/PointFree.fsproj @@ -0,0 +1,11 @@ + + + + netcoreapp3.1 + + + + + + + diff --git a/semester4/PointFree/PointFreeTests/PointFreeTest.fs b/semester4/PointFree/PointFreeTests/PointFreeTest.fs new file mode 100644 index 0000000..6dc1b9e --- /dev/null +++ b/semester4/PointFree/PointFreeTests/PointFreeTest.fs @@ -0,0 +1,22 @@ +module TestProject1 + +open NUnit.Framework +open FsCheck +open PointFree + +let ``example and first are equal`` number list = mapMultiply number list = mapMultiply1 number list +let ``first and second are equal`` number list = mapMultiply1 number list = mapMultiply2 number list +let ``second and third are equal`` number list = mapMultiply2 number list = mapMultiply3 number list +let ``third and fourth are equal`` number list = mapMultiply3 number list = mapMultiply4 number list + +[] +let test1 () = Check.QuickThrowOnFailure ``example and first are equal`` + +[] +let test2 () = Check.QuickThrowOnFailure ``first and second are equal`` + +[] +let test3 () = Check.QuickThrowOnFailure ``second and third are equal`` + +[] +let test4 () = Check.QuickThrowOnFailure ``third and fourth are equal`` \ No newline at end of file diff --git a/semester4/PointFree/PointFreeTests/PointFreeTests.fsproj b/semester4/PointFree/PointFreeTests/PointFreeTests.fsproj new file mode 100644 index 0000000..382e58f --- /dev/null +++ b/semester4/PointFree/PointFreeTests/PointFreeTests.fsproj @@ -0,0 +1,27 @@ + + + + netcoreapp3.1 + + false + false + TestProject1 + + + + + + + + + + + + + + + + + + + diff --git a/semester4/PointFree/PointFreeTests/Program.fs b/semester4/PointFree/PointFreeTests/Program.fs new file mode 100644 index 0000000..0695f84 --- /dev/null +++ b/semester4/PointFree/PointFreeTests/Program.fs @@ -0,0 +1 @@ +module Program = let [] main _ = 0 From 12322953725bd3c0e79d180ee0419b4c27aeaa75 Mon Sep 17 00:00:00 2001 From: dmitry Date: Sun, 16 Aug 2020 22:48:01 +0300 Subject: [PATCH 2/2] Add appveyor.yml --- appveyor.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 855f34f..297b50f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,7 +1,17 @@ -image: Visual Studio 2017 +image: Visual Studio 2019 + +init: + - git config --global core.autocrlf true + +environment: + matrix: + - solution: Semester4/PointFree/PointFree.sln before_build: - - nuget restore semester2/6.1/HW6T2.sln + - nuget restore %solution% build: - project: semester2/2.3/2.3.sln + project: $(solution) + +test_script: + - dotnet test %solution%