Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 72 additions & 1 deletion tests/Furnace.Tests/TestData.fs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
namespace Tests

open System.IO
open System.IO.Compression
open System.Text
open NUnit.Framework
open Furnace
open Furnace.Data
Expand Down Expand Up @@ -351,4 +353,73 @@ type TestData () =
Assert.AreEqual(textTensorCorrect, textTensor)

let text2 = dataset.tensorToText textTensor
Assert.AreEqual(text, text2)
Assert.AreEqual(text, text2)

[<Test>]
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)

[<Test>]
member _.TestDataUtilExtractTarStreamEmptyHeader () =
let tempDir = Path.Join(Path.GetTempPath(), Random.UUID())
Directory.CreateDirectory(tempDir) |> ignore

let tarData = Array.zeroCreate<byte> 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)

[<Test>]
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)

[<Test>]
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"))

[<Test>]
member _.TestDataUtilRunScript () =
runScript "echo" [|"test"|] 1000
Assert.True(true)

runScript "nonexistentcommand" [|"test"|] 100
Assert.True(true)
Loading