[JEDI.NET-commits] nunit/source Jedi.System.IniFile.NUnit.pas,NONE,1.1
Status: Pre-Alpha
Brought to you by:
jedi_mbe
From: Marcel B. <jed...@us...> - 2004-12-24 12:57:37
|
Update of /cvsroot/jedidotnet/nunit/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23620/nunit/source Added Files: Jedi.System.IniFile.NUnit.pas Log Message: Added IniFile handling (incomplete; only partially tested) --- NEW FILE: Jedi.System.IniFile.NUnit.pas --- unit Jedi.System.IniFile.NUnit; interface uses System.Resources, Jedi.System.IniFiles, NUnit.Framework; type [TestFixture] InMemory = class strict private class var rm: ResourceManager; class constructor Create; public [Test] procedure KeyCollection; [Test] procedure Loading; [Test] procedure SectionCollection; [Test] procedure SectionKeyCollection; end; implementation uses System.Collections, System.IO, System.Text; { InMemory } class constructor InMemory.Create; begin rm := ResourceManager.Create('Jedi.System.IniFiles', TypeOf(InMemory).Assembly); end; procedure InMemory.KeyCollection; var mem: InMemoryConfigFile; kc: ICollection; kl: IList; begin mem := InMemoryConfigFile.Create; mem.Load(StringReader.Create(rm.GetString('initest'))); kc := mem.Keys; Assert.IsNotNull(kc, 'InMemoryConfigFile.Keys does not return an ICollection.'); kl := IList(kc); Assert.IsNotNull(kl, 'InMemoryConfigFile.Keys does not return an IList.'); Assert.AreEqual(1, kl.Count, 'Count'); Assert.AreEqual('MyTestString', kl[0], 'Item[0]'); kl := IList(mem.Keys('')); Assert.IsNotNull(kl, 'InMemoryConfigFile.Keys('''') does not return an IList.'); Assert.AreEqual(1, kl.Count, 'Count'); Assert.AreEqual('MyTestString', kl[0], 'Item[0] (empty section name)'); kl := IList(mem.Keys('TempList')); Assert.IsNotNull(kl, 'InMemoryConfigFile.Keys(''TempList'') does not return an IList.'); Assert.AreEqual(4, kl.Count, 'Count (TempList)'); Assert.AreEqual('Count', kl[0], 'Item[0] (TempList)'); Assert.AreEqual('Item1', kl[1], 'Item[1] (TempList)'); Assert.AreEqual('Item2', kl[2], 'Item[2] (TempList)'); Assert.AreEqual('Item3', kl[3], 'Item[3] (TempList)'); end; procedure InMemory.Loading; var mem: InMemoryConfigFile; begin mem := InMemoryConfigFile.Create; mem.Load(StringReader.Create(rm.GetString('initest'))); Assert.IsTrue(mem.SectionExists('Basics'), 'Section ''{0}'' not found', ['Basics']); Assert.IsTrue(mem.KeyExists('MyTestString'), 'Key ''{0}'' not found.', ['MyTestString']); Assert.AreEqual( 'Abcdef ghij klmnop; 1+1=2 #a comment, or maybe not, depending on settings', mem.ReadString('MyTestString'), 'Key ''{0}''.', ['MyTestString']); end; procedure InMemory.SectionCollection; var mem: InMemoryConfigFile; sc: ICollection; sl: IList; begin mem := InMemoryConfigFile.Create; mem.Load(StringReader.Create(rm.GetString('initest'))); sc := mem.Sections; Assert.IsNotNull(sc, 'InMemoryConfigFile.Sections does not return an ICollection.'); sl := IList(sc); Assert.IsNotNull(sl, 'InMemoryConfigFile.Sections does not return an IList.'); Assert.AreEqual(2, sl.Count, 'sl.Count'); Assert.AreEqual('Basics', sl[0], 'sl[0]'); Assert.AreEqual('TempList', sl[1], 'sl[1]'); end; procedure InMemory.SectionKeyCollection; type StringArray = array of string; var mem: InMemoryConfigFile; sc: ICollection; sl: IList; strArray: StringArray; enumC: IEnumerator; enumA: IEnumerator; begin mem := InMemoryConfigFile.Create; mem.Load(StringReader.Create(rm.GetString('initest'))); sc := mem.SectionKeys; Assert.IsNotNull(sc, 'InMemoryConfigFile.SectionKeys does not return an ICollection.'); sl := IList(sc); Assert.IsNotNull(sl, 'InMemoryConfigFile.SectionKeys does not return an IList.'); Assert.IsTrue(sl.IsReadOnly, 'IsReadOnly'); Assert.IsTrue(sl.IsFixedSize, 'IsFixedSize'); Assert.IsFalse(sl.IsSynchronized, 'IsReadOnly'); Assert.AreEqual(9, sl.Count, 'sl.Count'); Assert.AreEqual('MyTestString', sl[0], 'sl[0]'); Assert.AreEqual( System.String.Concat('Basics', ConfigFileBase.SectionKeySeperatorChar, 'AutoWriteSettings'), sl[1], 'sl[1]'); Assert.AreEqual( System.String.Concat('Basics', ConfigFileBase.SectionKeySeperatorChar, 'EmptyString'), sl[2], 'sl[2]'); Assert.AreEqual( System.String.Concat('Basics', ConfigFileBase.SectionKeySeperatorChar, 'TestString'), sl[3], 'sl[3]'); Assert.AreEqual( System.String.Concat('Basics', ConfigFileBase.SectionKeySeperatorChar, 'UseKeyMapper'), sl[4], 'sl[4]'); Assert.AreEqual( System.String.Concat('TempList', ConfigFileBase.SectionKeySeperatorChar, 'Count'), sl[5], 'sl[5]'); Assert.AreEqual( System.String.Concat('TempList', ConfigFileBase.SectionKeySeperatorChar, 'Item1'), sl[6], 'sl[6]'); Assert.AreEqual( System.String.Concat('TempList', ConfigFileBase.SectionKeySeperatorChar, 'Item2'), sl[7], 'sl[7]'); Assert.AreEqual( System.String.Concat('TempList', ConfigFileBase.SectionKeySeperatorChar, 'Item3'), sl[8], 'sl[8]'); strArray := StringArray.Create( 'MyTestString', System.String.Concat('Basics', ConfigFileBase.SectionKeySeperatorChar, 'AutoWriteSettings'), System.String.Concat('Basics', ConfigFileBase.SectionKeySeperatorChar, 'EmptyString'), System.String.Concat('Basics', ConfigFileBase.SectionKeySeperatorChar, 'TestString'), System.String.Concat('Basics', ConfigFileBase.SectionKeySeperatorChar, 'UseKeyMapper'), System.String.Concat('TempList', ConfigFileBase.SectionKeySeperatorChar, 'Count'), System.String.Concat('TempList', ConfigFileBase.SectionKeySeperatorChar, 'Item1'), System.String.Concat('TempList', ConfigFileBase.SectionKeySeperatorChar, 'Item2'), System.String.Concat('TempList', ConfigFileBase.SectionKeySeperatorChar, 'Item3'), ); enumC := sc.GetEnumerator; enumA := &Array(strArray).GetEnumerator; while enumC.MoveNext and enumA.MoveNext do Assert.AreEqual(enumA.Current, enumC.Current, 'Enumerator check.'); end; end. |