From 57b805550d6568fd46f4322ed54d1de4eb206fe3 Mon Sep 17 00:00:00 2001 From: MikePuzanov Date: Thu, 5 May 2022 15:17:51 +0300 Subject: [PATCH] test --- test2/Test.Test/Program.fs | 4 ++++ test2/Test.Test/SeqTest.fs | 12 +++++++++++ test2/Test.Test/Test.Test.fsproj | 27 +++++++++++++++++++++++++ test2/test2.sln | 22 +++++++++++++++++++++ test2/test2/Seq.fs | 13 ++++++++++++ test2/test2/Square.fs | 34 ++++++++++++++++++++++++++++++++ test2/test2/test2.fsproj | 14 +++++++++++++ 7 files changed, 126 insertions(+) create mode 100644 test2/Test.Test/Program.fs create mode 100644 test2/Test.Test/SeqTest.fs create mode 100644 test2/Test.Test/Test.Test.fsproj create mode 100644 test2/test2.sln create mode 100644 test2/test2/Seq.fs create mode 100644 test2/test2/Square.fs create mode 100644 test2/test2/test2.fsproj diff --git a/test2/Test.Test/Program.fs b/test2/Test.Test/Program.fs new file mode 100644 index 0000000..176a7b6 --- /dev/null +++ b/test2/Test.Test/Program.fs @@ -0,0 +1,4 @@ +module Program = + + [] + let main _ = 0 diff --git a/test2/Test.Test/SeqTest.fs b/test2/Test.Test/SeqTest.fs new file mode 100644 index 0000000..4ff57dd --- /dev/null +++ b/test2/Test.Test/SeqTest.fs @@ -0,0 +1,12 @@ +module Test.SquareTest + +open NUnit.Framework +open FsUnit +open SeqTest + + +[] +let SeqTest () = + let first15Nums = [ for i in 0 .. 14 -> Seq.item i (seqMake()) ] + + first15Nums |> should equal [ 1; 2; 2; 3; 3; 3; 4; 4; 4; 4; 5; 5; 5; 5; 5] \ No newline at end of file diff --git a/test2/Test.Test/Test.Test.fsproj b/test2/Test.Test/Test.Test.fsproj new file mode 100644 index 0000000..32ce0fe --- /dev/null +++ b/test2/Test.Test/Test.Test.fsproj @@ -0,0 +1,27 @@ + + + + net6.0 + + false + false + + + + + + + + + + + + + + + + + + + + diff --git a/test2/test2.sln b/test2/test2.sln new file mode 100644 index 0000000..661add6 --- /dev/null +++ b/test2/test2.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "test2", "test2\test2.fsproj", "{41A6A315-3580-4C37-BE39-73B0B203619A}" +EndProject +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Test.Test", "Test.Test\Test.Test.fsproj", "{41756876-4F39-4C44-AEF1-1C52CAA3C130}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {41A6A315-3580-4C37-BE39-73B0B203619A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {41A6A315-3580-4C37-BE39-73B0B203619A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {41A6A315-3580-4C37-BE39-73B0B203619A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {41A6A315-3580-4C37-BE39-73B0B203619A}.Release|Any CPU.Build.0 = Release|Any CPU + {41756876-4F39-4C44-AEF1-1C52CAA3C130}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {41756876-4F39-4C44-AEF1-1C52CAA3C130}.Debug|Any CPU.Build.0 = Debug|Any CPU + {41756876-4F39-4C44-AEF1-1C52CAA3C130}.Release|Any CPU.ActiveCfg = Release|Any CPU + {41756876-4F39-4C44-AEF1-1C52CAA3C130}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/test2/test2/Seq.fs b/test2/test2/Seq.fs new file mode 100644 index 0000000..9e0c494 --- /dev/null +++ b/test2/test2/Seq.fs @@ -0,0 +1,13 @@ +module SeqTest +let seqMake () = + let rec seqCheck element i = i <> element + let rec sequence element list i = + seq { + if seqCheck element i then + yield element + yield! sequence element (element :: list) (i + 1) + else + yield! sequence (element + 1) list 0 + + } + sequence 1 [] 0 \ No newline at end of file diff --git a/test2/test2/Square.fs b/test2/test2/Square.fs new file mode 100644 index 0000000..f8e1765 --- /dev/null +++ b/test2/test2/Square.fs @@ -0,0 +1,34 @@ +module test2.Square + +open System + +let buildSquare n = + let rec buildFirstAndLastLine i n = + if i = n then + printf"*\n" + else + printf"*" + buildFirstAndLastLine (i + 1) n + let rec buildOtherLine i n = + if i = n then + printf"*\n" + else if i = 1 then + printf"*" + buildOtherLine (i + 1) n + else + printf" " + buildOtherLine (i + 1) n + let rec square i = + if i < 1 then raise(ArgumentException()) + else if i = n then + buildFirstAndLastLine 1 n + else if i = 1 then + buildFirstAndLastLine 1 n + square (i + 1) + else + buildOtherLine 1 n + square (i + 1) + + square 1 + +buildSquare 2 \ No newline at end of file diff --git a/test2/test2/test2.fsproj b/test2/test2/test2.fsproj new file mode 100644 index 0000000..899d061 --- /dev/null +++ b/test2/test2/test2.fsproj @@ -0,0 +1,14 @@ + + + + Exe + net6.0 + Windows + + + + + + + +