Cosmos/Tests/Cosmos.Kernel.Tests.Fat/Kernel.cs
Charles Betros 53c2f3a0e4 Merge
2015-10-28 10:37:18 -05:00

147 lines
5.6 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using Cosmos.Common.Extensions;
using Cosmos.System.FileSystem.VFS;
using Cosmos.TestRunner;
using Sys = Cosmos.System;
namespace Cosmos.Kernel.Tests.Fat
{
public class TestClass
{
private Stream xStream;
private global::Cosmos.Debug.Kernel.Debugger mDebugger = new global::Cosmos.Debug.Kernel.Debugger("User", "Test");
public TestClass(string aTest)
{
mDebugger.Send("In TestClass::ctor(string)");
xStream = Initialize(aTest);
}
private Stream Initialize(string aTest)
{
mDebugger.Send("In TestClass::Intialize(string)");
if (aTest == null)
{
mDebugger.Send("In TestClass::Intialize(string). aTest is null.");
throw new ArgumentNullException("aTest", "Test can not be null.");
}
if (aTest.Length == 0)
{
mDebugger.Send("In TestClass::Intialize(string). aTest is empty.");
throw new ArgumentException("Test can not be empty.");
}
return Stream.Null;
}
}
public class Kernel : Sys.Kernel
{
private VFSBase myVFS;
protected override void BeforeRun()
{
Console.WriteLine("Cosmos booted successfully, now start testing");
//myVFS = new Sys.SentinelVFS();
//VFSManager.RegisterVFS(myVFS);
}
private global::Cosmos.Debug.Kernel.Debugger mDebugger = new global::Cosmos.Debug.Kernel.Debugger("User", "Test");
protected override void Run()
{
try
{
mDebugger.Send("Run");
string xString = null;
var x = new TestClass(xString);
//string xContents;
//Assert.IsTrue(Path.GetDirectoryName(@"0:\test") == @"0:\", @"Path.GetDirectoryName(@'0:\test') == @'0:\'");
//Assert.IsTrue(Path.GetFileName(@"0:\test") == @"test", @"Path.GetFileName(@'0:\test') == @'test'");
//mDebugger.Send("File exist check:");
//xTest = File.Exists(@"0:\Kudzu.txt");
//Assert.IsTrue(xTest, @"\Kudzu.txt not found!");
//mDebugger.Send("Directory exist check:");
//xTest = Directory.Exists(@"0:\test");
//Console.WriteLine("After test");
//Assert.IsTrue(xTest, "Folder does not exist!");
//mDebugger.Send("File contents of Kudzu.txt: ");
//xContents = File.ReadAllText(@"0:\Kudzu.txt");
//mDebugger.Send("Contents retrieved");
//mDebugger.Send(xContents);
//Assert.IsTrue(xContents == "Hello Cosmos", "Contents of Kudzu.txt was read incorrectly!");
// Test if null or empty string throws exception.
//try
//{
// using (var xFS = new FileStream(null, FileMode.Open))
// {
// xFS.SetLength(5);
// }
//}
//catch (Exception ex)
//{
// mDebugger.Send("Exception occurred:" + ex.Message);
//}
//using (var xFS = new FileStream(@"0:\Kudzu.txt", FileMode.Open))
//{
// xFS.SetLength(5);
//}
//mDebugger.Send("File made smaller");
//xContents = File.ReadAllText(@"0:\Kudzu.txt");
//mDebugger.Send("Contents retrieved");
//mDebugger.Send(xContents);
//Assert.IsTrue(xContents == "Hello", "Contents of Kudzu.txt was read incorrectly!");
//using (var xFS = new FileStream(@"0:\Kudzu.txt", FileMode.Create))
//{
// xFS.SetLength(5);
//}
//mDebugger.Send("File made smaller");
//xContents = File.ReadAllText(@"0:\Kudzu.txt");
//mDebugger.Send("Contents retrieved");
//mDebugger.Send(xContents);
//Assert.IsTrue(xContents == "Hello", "Contents of Kudzu.txt was read incorrectly!");
////using (var xFS = new FileStream(@"0:\Kudzu.txt", FileMode.Create))
////{
//// mDebugger.Send("Start writing");
//// var xStr = "Test FAT Write.";
//// var xBuff = xStr.GetUtf8Bytes(0, (uint) xStr.Length);
//// xFS.Write(xBuff, 0, xBuff.Length);
//// mDebugger.Send("---- Data written");
//// xFS.Position = 0;
//// xFS.Read(xBuff, 0, xBuff.Length);
//// mDebugger.Send(xBuff.GetUtf8String(0, (uint)xBuff.Length));
////}
////mDebugger.Send("Write to file now");
////File.WriteAllText(@"0:\Kudzu.txt", "Test FAT write.");
////mDebugger.Send("Text written");
////xContents = File.ReadAllText(@"0:\Kudzu.txt");
////mDebugger.Send("Contents retrieved after writing");
////mDebugger.Send(xContents);
////Assert.IsTrue(xContents == "Test FAT write.", "Contents of Kudzu.txt was written incorrectly!");
TestController.Completed();
}
catch (Exception E)
{
mDebugger.Send("Exception occurred");
mDebugger.Send(E.Message);
TestController.Failed();
}
}
}
}