annotate IniFileReaderTest.cs @ 1:c2a0d074b3b5

Re #7 - Test for INI parsing * Add key length checking to file parsing to ensure section is correctly parsed * Add tests for multi-line section parsing * Add test for line parser parsing padded line
author IBBoard <dev@ibboard.co.uk>
date Wed, 14 Jan 2009 19:54:00 +0000
parents ada654b0648c
children f880d41804d6
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 //
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
3 // The file and the library/program it is in are licensed under the GNU LGPL license. Please see COPYING.LGPL for more information and the full license.
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
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
22 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
23 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniText()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
24 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
25 IniFile file = IniFileReader.ReadFile("[ASection]");
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
26 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
27 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
28 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
29 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
30 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
31 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
32
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
33 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
34 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniTextWithContent()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
35 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
36 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
37 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
38 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
39 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
40 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
41 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
42 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
43
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
44 [Test()]
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
45 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniTextWithMultiLineContent()
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
46 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
47 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
48 Assert.AreEqual(1, file.Sections.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
49 Assert.IsTrue(file.HasSection("ASection"));
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
50 IniSection section = file["ASection"];
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
51 Assert.IsNotNull(section);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
52 Assert.AreEqual(4, section.Keys.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
53 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
54
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
55 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
56
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
57 foreach (string key in keys)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
58 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
59 bool found = false;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
60
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
61 foreach (string sectionKey in section.Keys)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
62 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
63 if (key == sectionKey)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
64 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
65 found = true;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
66 break;
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
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
70 Assert.IsTrue(found, "Did not find "+key);
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
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
74 [Test()]
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
75 public void TestIniFileReaderContainsExpectedSectionForTwoSectionIniTextWithContent()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
76 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
77 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
78 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
79 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
80 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
81 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
82 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
83 Assert.IsTrue(file.HasSection("BSection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
84 Assert.IsNotNull(file["BSection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
85 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
86 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
87 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
88
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
89 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
90 public void TestIniFileReaderReturnsEmptyObjectForEmptyIniFile()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
91 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
92 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
93 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
94 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
95
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
96
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
97 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
98 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFile()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
99 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
100 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
101 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
102 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
103 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
104 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
105 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
106 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
107
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
108 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
109 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFileWithContent()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
110 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
111 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
112 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
113 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
114 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
115 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
116 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
117 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
118
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
119 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
120 public void TestIniFileReaderContainsExpectedSectionForTwoSectionIniFileWithContent()
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 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
123 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
124 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
125 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
126 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
127 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
128 Assert.IsTrue(file.HasSection("BSection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
129 Assert.IsNotNull(file["BSection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
130 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
131 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
132 }
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
133
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
134 [Test()]
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
135 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFileWithMultiLineContent()
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
136 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
137 IniFile file = IniFileReader.ReadFile(new FileInfo("SingleSectionWithMultiLineContent.ini"));
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
138 Assert.AreEqual(1, file.Sections.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
139 Assert.IsTrue(file.HasSection("ASection"));
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
140 IniSection section = file["ASection"];
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
141 Assert.IsNotNull(section);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
142 Assert.AreEqual(4, section.Keys.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
143 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
144
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
145 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
146
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
147 foreach (string key in keys)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
148 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
149 bool found = false;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
150
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
151 foreach (string sectionKey in section.Keys)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
152 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
153 if (key == sectionKey)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
154 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
155 found = true;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
156 break;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
157 }
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
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
160 Assert.IsTrue(found, "Did not find "+key);
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 }
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
163 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
164 }