Clean up + report in PDF.
[crypto_lab2.git] / labo2-fsharp / CryptoFile / UnitTests.fs
index 203f789..7345538 100644 (file)
@@ -19,7 +19,7 @@ module UnitTests =
     let testRSASignature () =
         let kpub, kpriv = generateRSAKeysPair
         let plaintext = "Lightspeed is too slow. We'll have to go right to ludicrous speed!"
-        let sha256 = new SHA256Managed ()
+        use sha256 = new SHA256Managed ()
         let signature = signRSA kpriv (sha256.ComputeHash (Encoding.UTF8.GetBytes plaintext))
         assert verifySignRSA kpub (sha256.ComputeHash (Encoding.UTF8.GetBytes plaintext)) signature
         assert not (verifySignRSA kpub (sha256.ComputeHash (Encoding.UTF8.GetBytes "Hello!")) signature)
@@ -27,19 +27,19 @@ module UnitTests =
 
     let testAES () =
         let plaintext = "There is no place like 127.0.0.1"
-        let memory = new MemoryStream ()
+        use memory = new MemoryStream ()
         let key = Crypto.rand 16
         let iv = Crypto.rand 16
 
         let input = encryptAES key iv memory
-        let sw = new StreamWriter (input)
+        use sw = new StreamWriter (input)
         sw.Write plaintext
         sw.Flush ()
         input.FlushFinalBlock ()
 
         memory.Position <- 0L
         let output = decryptAES key iv memory
-        let sr = new StreamReader (output)
+        use sr = new StreamReader (output)
 
         assert (sr.ReadToEnd () = plaintext)
         printfn "testAES OK"