mirror of
https://git.numenor-labs.us/dsfx.git
synced 2025-04-29 16:20:34 +00:00
58 lines
1.3 KiB
Go
58 lines
1.3 KiB
Go
package disk_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"koti.casa/numenor-labs/dsfx/pkg/disk"
|
|
)
|
|
|
|
func TestDefaultDisk(t *testing.T) {
|
|
// Create a new disk instance using the default implementation
|
|
d := disk.Default()
|
|
|
|
// Test creating a directory
|
|
dirName := "testdir"
|
|
if err := d.Mkdir(dirName, 0755); err != nil {
|
|
t.Fatalf("Failed to create directory: %v", err)
|
|
}
|
|
|
|
// Test creating a file
|
|
fileName := "testfile.txt"
|
|
file, err := d.Create(fileName)
|
|
if err != nil {
|
|
t.Fatalf("Failed to create file: %v", err)
|
|
}
|
|
defer file.Close()
|
|
|
|
// Test writing to the file
|
|
if _, err := file.Write([]byte("Hello, World!")); err != nil {
|
|
t.Fatalf("Failed to write to file: %v", err)
|
|
}
|
|
|
|
// Test statting the file
|
|
info, err := d.Stat(fileName)
|
|
if err != nil {
|
|
t.Fatalf("Failed to stat file: %v", err)
|
|
}
|
|
if info.Name() != fileName {
|
|
t.Errorf("Expected file name %s, got %s", fileName, info.Name())
|
|
}
|
|
|
|
// Test opening the file
|
|
openFile, err := d.Open(fileName)
|
|
if err != nil {
|
|
t.Fatalf("Failed to open file: %v", err)
|
|
}
|
|
defer openFile.Close()
|
|
|
|
// Test removing the file
|
|
if err := d.Remove(fileName); err != nil {
|
|
t.Fatalf("Failed to remove file: %v", err)
|
|
}
|
|
|
|
// Test removing the directory
|
|
if err := d.Remove(dirName); err != nil {
|
|
t.Fatalf("Failed to remove directory: %v", err)
|
|
}
|
|
}
|