diff --git a/tests/Furnace.Tests/TestData.fs b/tests/Furnace.Tests/TestData.fs index 49db14a7..61e587a0 100644 --- a/tests/Furnace.Tests/TestData.fs +++ b/tests/Furnace.Tests/TestData.fs @@ -6,6 +6,8 @@ namespace Tests open System.IO +open System.IO.Compression +open System.Text open NUnit.Framework open Furnace open Furnace.Data @@ -351,4 +353,73 @@ type TestData () = Assert.AreEqual(textTensorCorrect, textTensor) let text2 = dataset.tensorToText textTensor - Assert.AreEqual(text, text2) \ No newline at end of file + Assert.AreEqual(text, text2) + + [] + member _.TestDataUtilDownloadExistingFile () = + let tempDir = Path.Join(Path.GetTempPath(), Random.UUID()) + Directory.CreateDirectory(tempDir) |> ignore + let testFile = Path.Join(tempDir, "existing_test.txt") + + let testContent = "Existing file content" + File.WriteAllText(testFile, testContent) + + let testUrl = "https://www.example.com/dummy.txt" + download testUrl testFile + + Assert.True(File.Exists(testFile)) + let content = File.ReadAllText(testFile) + Assert.AreEqual(testContent, content) + + Directory.Delete(tempDir, true) + + [] + member _.TestDataUtilExtractTarStreamEmptyHeader () = + let tempDir = Path.Join(Path.GetTempPath(), Random.UUID()) + Directory.CreateDirectory(tempDir) |> ignore + + let tarData = Array.zeroCreate 1024 + + use stream = new MemoryStream(tarData) + extractTarStream stream tempDir + + Assert.True(Directory.Exists(tempDir)) + Assert.AreEqual(0, Directory.GetFiles(tempDir, "*", SearchOption.AllDirectories).Length) + + Directory.Delete(tempDir, true) + + [] + member _.TestDataUtilPrintVal () = + let floatVal = 3.14f + let result = printVal floatVal + Assert.True(result.Contains("3.14")) + + let intVal = 42 + let result2 = printVal intVal + Assert.AreEqual("42", result2) + + let boolVal = true + let result3 = printVal boolVal + Assert.AreEqual("True", result3) + + [] + member _.TestDataUtilToPython () = + let boolVal = true + let result = toPython boolVal + Assert.AreEqual("True", result) + + let boolVal2 = false + let result2 = toPython boolVal2 + Assert.AreEqual("False", result2) + + let tensor0d = FurnaceImage.tensor(42.0f) + let result3 = toPython tensor0d + Assert.True(result3.Contains("42")) + + [] + member _.TestDataUtilRunScript () = + runScript "echo" [|"test"|] 1000 + Assert.True(true) + + runScript "nonexistentcommand" [|"test"|] 100 + Assert.True(true)