summaryrefslogtreecommitdiff
path: root/Homework/cs4700/kotlin/Main.kt
diff options
context:
space:
mode:
Diffstat (limited to 'Homework/cs4700/kotlin/Main.kt')
-rw-r--r--Homework/cs4700/kotlin/Main.kt85
1 files changed, 85 insertions, 0 deletions
diff --git a/Homework/cs4700/kotlin/Main.kt b/Homework/cs4700/kotlin/Main.kt
new file mode 100644
index 0000000..0fafdf5
--- /dev/null
+++ b/Homework/cs4700/kotlin/Main.kt
@@ -0,0 +1,85 @@
+/**
+ * The main part of the lists package consists of functions to test the functions you code, you may modify however you like as I will use my own Main.kt to test
+ */
+package lists
+
+// Functions for composeList testing
+fun add1(x: Int) : Int = x + 1
+fun add2(x: Int) : Int = x + 2
+
+// Functions for listApply testing
+fun add(x : Int, y : Int) : Int {
+ return x + y
+}
+
+fun main(args: Array<String>) {
+ println("Start testing")
+ // Comment out tests you don't use
+ /* This is a multi-line
+ comment
+ */
+ val n = 12
+ val zero = 0
+ val nAsNull = null
+
+ // countingNumbers tests
+ val countingNumbersUpToN = countingNumbers(n)
+ println("countingNumbers to $n are $countingNumbersUpToN")
+ val countingNumbersZero = countingNumbers(zero)
+ println("countingNumbers to $zero are $countingNumbersZero")
+ val countingNumbersNull = countingNumbers(nAsNull)
+ println("countingNumbers to $nAsNull are $countingNumbersNull")
+ println()
+
+ // evenNumbers tests
+ val evenNumbersUpToN = evenNumbers(n)
+ println("evenNumbers to $n are $evenNumbersUpToN")
+ val evenNumbersZero = evenNumbers(zero)
+ println("evenNumbers to $zero are $evenNumbersZero")
+ val evenNumbersNull = evenNumbers(nAsNull)
+ println("evenNumbers to $nAsNull are $evenNumbersNull")
+ println()
+
+ // primeNumbers tests
+ val primesUpToN = primeNumbers(n)
+ println("primeNumbers to $n are $primesUpToN")
+ val primesUpToZero = primeNumbers(zero)
+ println("primeNumbers to $zero are $primesUpToZero")
+ val primeNumbersNull = primeNumbers(nAsNull)
+ println("primeNumbers to $nAsNull are $primeNumbersNull")
+ println()
+
+ // subLists tests
+ println("subLists of $primesUpToN are ${subLists(primesUpToN)}")
+ println("subLists of $evenNumbersZero are ${subLists(evenNumbersZero)}")
+ println("subLists of $evenNumbersNull are ${subLists(evenNumbersNull)}")
+ println()
+
+ // countElements tests
+ println("countElements of subLists of $primesUpToN are ${countElements(subLists(primesUpToN))}")
+ println("countElements of subLists of even numbers to $zero are ${countElements(subLists(evenNumbersZero))}")
+ println("countElements of subLists of prime numbers to $nAsNull are ${countElements(subLists(primeNumbersNull))}")
+ val tempList = listOf(evenNumbersUpToN,evenNumbersZero,evenNumbersNull)
+ println("countElements of $tempList is ${countElements(tempList)}")
+ println()
+
+ // merge tests
+ println("merge of $primesUpToN and $countingNumbersUpToN is ${merge(primesUpToN,countingNumbersUpToN)}")
+ println("merge of $primesUpToN and $countingNumbersZero is ${merge(primesUpToN,countingNumbersZero)}")
+ println("merge of $primesUpToN and $countingNumbersNull is ${merge(primesUpToN,countingNumbersNull)}")
+ println()
+
+ // listApply tests
+ println("listApply of ::add to $countingNumbersUpToN is ${listApply(::add,subLists(countingNumbersUpToN))}")
+ println("listApply of ::add to $countingNumbersZero is ${listApply(::add,subLists(countingNumbersZero))}")
+ println("listApply of ::add to $countingNumbersNull is ${listApply(::add,subLists(countingNumbersNull))}")
+ println()
+
+ // composeList test
+ val functionList = listOf(::add1,::add2,::add1)
+ val composedFunction = composeList(functionList)
+ var result = composedFunction(n)
+ println("composedFunction of [::add1,::add2,::add1] applied to $n is $result")
+
+}
+