Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
18
Task/Test-a-function/Nim/test-a-function-1.nim
Normal file
18
Task/Test-a-function/Nim/test-a-function-1.nim
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
proc reverse(s): string =
|
||||
result = newString(s.len)
|
||||
for i,c in s:
|
||||
result[s.high - i] = c
|
||||
|
||||
proc isPalindrome(s): bool =
|
||||
s == reverse(s)
|
||||
|
||||
when isMainModule:
|
||||
assert(isPalindrome(""))
|
||||
assert(isPalindrome("a"))
|
||||
assert(isPalindrome("aa"))
|
||||
assert(not isPalindrome("baa"))
|
||||
assert(isPalindrome("baab"))
|
||||
assert(isPalindrome("ba_ab"))
|
||||
assert(not isPalindrome("ba_ ab"))
|
||||
assert(isPalindrome("ba _ ab"))
|
||||
assert(not isPalindrome("abab"))
|
||||
26
Task/Test-a-function/Nim/test-a-function-2.nim
Normal file
26
Task/Test-a-function/Nim/test-a-function-2.nim
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
import unittest
|
||||
|
||||
proc reverse(s): string =
|
||||
result = newString(s.len)
|
||||
for i,c in s:
|
||||
result[s.high - i] = c
|
||||
|
||||
proc isPalindrome(s): bool =
|
||||
s == reverse(s)
|
||||
|
||||
when isMainModule:
|
||||
suite "palindrome":
|
||||
test "empty string":
|
||||
check isPalindrome ""
|
||||
|
||||
test "string of length 1":
|
||||
check isPalindrome "a"
|
||||
|
||||
test "string of length 2":
|
||||
check isPalindrome "aa"
|
||||
|
||||
test "string of length 3":
|
||||
check isPalindrome "aaa"
|
||||
|
||||
test "no palindrome":
|
||||
check isPalindrome("foo") == false
|
||||
Loading…
Add table
Add a link
Reference in a new issue