annotate IniFileReaderTest.cs @ 6:4f281289bcdd

Re #8 - License code * Specify version of LGPL in headers * Add COPYING.GPL and COPYING.LGPL in to project with license details
author IBBoard <dev@ibboard.co.uk>
date Sun, 25 Jan 2009 14:55:42 +0000
parents 2d2f4084679f
children 0be17f8102ed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
1 // This file (IniFileReaderTest.cs) is a part of the IBBoard.Ini.Tests library and is copyright 2009 IBBoard.
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
2 //
6
4f281289bcdd Re #8 - License code
IBBoard <dev@ibboard.co.uk>
parents: 3
diff changeset
3 // The file and the library/program it is in are licensed under the GNU LGPL license, either version 3 of the License or (at your option) any later version. Please see COPYING.LGPL for more information and the full license.
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
4
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
5 using System;
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
6 using System.IO;
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
7 using NUnit.Framework;
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
8
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
9 namespace IBBoard.Ini
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
10 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
11 [TestFixture()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
12 public class IniFileReaderTest
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
13 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
14 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
15 public void TestIniFileReaderReturnsEmptyObjectForEmptyIniText()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
16 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
17 IniFile file = IniFileReader.ReadFile("");
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
18 Assert.AreEqual(0, file.Sections.Length);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
19 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
20
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
21 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
22 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniText()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
23 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
24 IniFile file = IniFileReader.ReadFile("[ASection]");
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
25 Assert.AreEqual(1, file.Sections.Length);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
26 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
27 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
28 Assert.AreEqual(0, file["ASection"].Keys.Length);
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
29 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
30 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
31
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
32 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
33 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniTextWithContent()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
34 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
35 IniFile file = IniFileReader.ReadFile("[ASection]\nsomething=fibble");
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
36 Assert.AreEqual(1, file.Sections.Length);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
37 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
38 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
39 Assert.AreEqual(1, file["ASection"].Keys.Length);
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
40 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
41 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
42
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
43 [Test()]
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
44 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniTextWithMultiLineContent()
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
45 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
46 IniFile file = IniFileReader.ReadFile("[ASection]\nsomething=fibble\nfobble_key=foo\nabcde=fghij\nfoo9=bar2");
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
47 Assert.AreEqual(1, file.Sections.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
48 Assert.IsTrue(file.HasSection("ASection"));
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
49 IniSection section = file["ASection"];
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
50 Assert.IsNotNull(section);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
51 Assert.AreEqual(4, section.Keys.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
52 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
53
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
54 string[] keys = new string[]{"something", "fobble_key", "abcde", "foo9"};
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
55
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
56 foreach (string key in keys)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
57 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
58 bool found = false;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
59
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
60 foreach (string sectionKey in section.Keys)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
61 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
62 if (key == sectionKey)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
63 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
64 found = true;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
65 break;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
66 }
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
67 }
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
68
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
69 Assert.IsTrue(found, "Did not find "+key);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
70 }
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
71 }
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
72
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
73 [Test()]
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
74 public void TestIniFileReaderContainsExpectedSectionsForTwoSectionIniTextWithContent()
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
75 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
76 IniFile file = IniFileReader.ReadFile("[ASection]\nsomething=fibble\n[BSection]\nsomethingElse=fibble");
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
77 Assert.AreEqual(2, file.Sections.Length);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
78 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
79 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
80 Assert.AreEqual(1, file["ASection"].Keys.Length);
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
81 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
82 Assert.IsTrue(file.HasSection("BSection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
83 Assert.IsNotNull(file["BSection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
84 Assert.AreEqual(1, file["BSection"].Keys.Length);
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
85 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["BSection"]);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
86 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
87
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
88 [Test()]
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
89 public void TestIniFileReaderContainsExpectedSectionsForTwoConsecutiveSectionSectionsInText()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
90 {
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
91 IniFile file = IniFileReader.ReadFile("[SectionA]\n[SectionB]");
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
92 Assert.AreEqual(2, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
93 Assert.IsTrue(file.HasSection("SectionA"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
94 Assert.IsNotNull(file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
95 Assert.AreEqual(0, file["SectionA"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
96 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
97 Assert.IsTrue(file.HasSection("SectionB"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
98 Assert.IsNotNull(file["SectionB"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
99 Assert.AreEqual(0, file["SectionB"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
100 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionB"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
101 }
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
102
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
103 [Test()]
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
104 public void TestIniFileReaderContainsExpectedSectionWhenTextPaddedAtStart()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
105 {
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
106 IniFile file = IniFileReader.ReadFile("\nnon-blank\n[ASection]\nsomething=fibble");
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
107 Assert.AreEqual(1, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
108 Assert.IsTrue(file.HasSection("ASection"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
109 Assert.IsNotNull(file["ASection"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
110 Assert.AreEqual(1, file["ASection"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
111 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
112 }
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
113
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
114 [Test()]
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
115 public void TestIniFileReaderReturnsEmptyObjectForEmptyIniFile()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
116 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
117 IniFile file = IniFileReader.ReadFile(new FileInfo("EmptyFile.ini"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
118 Assert.AreEqual(0, file.Sections.Length);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
119 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
120
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
121
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
122 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
123 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFile()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
124 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
125 IniFile file = IniFileReader.ReadFile(new FileInfo("SingleSectionSingleLine.ini"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
126 Assert.AreEqual(1, file.Sections.Length);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
127 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
128 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
129 Assert.AreEqual(0, file["ASection"].Keys.Length);
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
130 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
131 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
132
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
133 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
134 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFileWithContent()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
135 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
136 IniFile file = IniFileReader.ReadFile(new FileInfo("SingleSectionWithContent.ini"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
137 Assert.AreEqual(1, file.Sections.Length);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
138 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
139 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
140 Assert.AreEqual(1, file["ASection"].Keys.Length);
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
141 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
142 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
143
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
144 [Test()]
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
145 public void TestIniFileReaderContainsExpectedSectionsForTwoSectionIniFileWithContent()
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
146 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
147 IniFile file = IniFileReader.ReadFile(new FileInfo("DoubleSectionWithContent.ini"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
148 Assert.AreEqual(2, file.Sections.Length);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
149 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
150 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
151 Assert.AreEqual(1, file["ASection"].Keys.Length);
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
152 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
153 Assert.IsTrue(file.HasSection("BSection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
154 Assert.IsNotNull(file["BSection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
155 Assert.AreEqual(1, file["BSection"].Keys.Length);
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
156 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["BSection"]);
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
157 }
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
158
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
159 [Test()]
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
160 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFileWithMultiLineContent()
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
161 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
162 IniFile file = IniFileReader.ReadFile(new FileInfo("SingleSectionWithMultiLineContent.ini"));
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
163 Assert.AreEqual(1, file.Sections.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
164 Assert.IsTrue(file.HasSection("ASection"));
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
165 IniSection section = file["ASection"];
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
166 Assert.IsNotNull(section);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
167 Assert.AreEqual(4, section.Keys.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
168 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
169
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
170 string[] keys = new string[]{"something", "fobble_key", "abcde", "foo9"};
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
171
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
172 foreach (string key in keys)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
173 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
174 bool found = false;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
175
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
176 foreach (string sectionKey in section.Keys)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
177 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
178 if (key == sectionKey)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
179 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
180 found = true;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
181 break;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
182 }
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
183 }
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
184
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
185 Assert.IsTrue(found, "Did not find "+key);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
186 }
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
187 }
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
188
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
189 [Test()]
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
190 public void TestIniFileReaderContainsExpectedSectionWhenFilePaddedAtStart()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
191 {
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
192 IniFile file = IniFileReader.ReadFile(new FileInfo("StartPadded.ini"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
193 Assert.AreEqual(1, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
194 Assert.IsTrue(file.HasSection("ASection"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
195 Assert.IsNotNull(file["ASection"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
196 Assert.AreEqual(1, file["ASection"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
197 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
198 }
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
199
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
200 [Test()]
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
201 public void TestIniFileReaderContainsExpectedSectionsForTwoConsecutiveSectionSectionsInFile()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
202 {
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
203 IniFile file = IniFileReader.ReadFile(new FileInfo("ConsecutiveSection.ini"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
204 Assert.AreEqual(2, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
205 Assert.IsTrue(file.HasSection("SectionA"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
206 Assert.IsNotNull(file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
207 Assert.AreEqual(0, file["SectionA"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
208 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
209 Assert.IsTrue(file.HasSection("SectionB"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
210 Assert.IsNotNull(file["SectionB"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
211 Assert.AreEqual(0, file["SectionB"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
212 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionB"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
213 }
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
214 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
215 }