66namespace Tests
77
88open System.IO
9+ open System.IO .Compression
10+ open System.Text
911open NUnit.Framework
1012open Furnace
1113open Furnace.Data
@@ -351,4 +353,73 @@ type TestData () =
351353 Assert.AreEqual( textTensorCorrect, textTensor)
352354
353355 let text2 = dataset.tensorToText textTensor
354- Assert.AreEqual( text, text2)
356+ Assert.AreEqual( text, text2)
357+
358+ [<Test>]
359+ member _.TestDataUtilDownloadExistingFile () =
360+ let tempDir = Path.Join( Path.GetTempPath(), Random.UUID())
361+ Directory.CreateDirectory( tempDir) |> ignore
362+ let testFile = Path.Join( tempDir, " existing_test.txt" )
363+
364+ let testContent = " Existing file content"
365+ File.WriteAllText( testFile, testContent)
366+
367+ let testUrl = " https://www.example.com/dummy.txt"
368+ download testUrl testFile
369+
370+ Assert.True( File.Exists( testFile))
371+ let content = File.ReadAllText( testFile)
372+ Assert.AreEqual( testContent, content)
373+
374+ Directory.Delete( tempDir, true )
375+
376+ [<Test>]
377+ member _.TestDataUtilExtractTarStreamEmptyHeader () =
378+ let tempDir = Path.Join( Path.GetTempPath(), Random.UUID())
379+ Directory.CreateDirectory( tempDir) |> ignore
380+
381+ let tarData = Array.zeroCreate< byte> 1024
382+
383+ use stream = new MemoryStream( tarData)
384+ extractTarStream stream tempDir
385+
386+ Assert.True( Directory.Exists( tempDir))
387+ Assert.AreEqual( 0 , Directory.GetFiles( tempDir, " *" , SearchOption.AllDirectories) .Length)
388+
389+ Directory.Delete( tempDir, true )
390+
391+ [<Test>]
392+ member _.TestDataUtilPrintVal () =
393+ let floatVal = 3.14 f
394+ let result = printVal floatVal
395+ Assert.True( result.Contains( " 3.14" ))
396+
397+ let intVal = 42
398+ let result2 = printVal intVal
399+ Assert.AreEqual( " 42" , result2)
400+
401+ let boolVal = true
402+ let result3 = printVal boolVal
403+ Assert.AreEqual( " True" , result3)
404+
405+ [<Test>]
406+ member _.TestDataUtilToPython () =
407+ let boolVal = true
408+ let result = toPython boolVal
409+ Assert.AreEqual( " True" , result)
410+
411+ let boolVal2 = false
412+ let result2 = toPython boolVal2
413+ Assert.AreEqual( " False" , result2)
414+
415+ let tensor0d = FurnaceImage.tensor( 42.0 f)
416+ let result3 = toPython tensor0d
417+ Assert.True( result3.Contains( " 42" ))
418+
419+ [<Test>]
420+ member _.TestDataUtilRunScript () =
421+ runScript " echo" [| " test" |] 1000
422+ Assert.True( true )
423+
424+ runScript " nonexistentcommand" [| " test" |] 100
425+ Assert.True( true )
0 commit comments