annotate IniFileReaderTest.cs @ 13:48b646dd1dc2 default tip

* Automated clean-up of .csproj file * Ignore generated files
author IBBoard <dev@ibboard.co.uk>
date Wed, 07 Nov 2012 20:23:16 +0000
parents 0be17f8102ed
children
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 using System;
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
5 using System.IO;
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
6 using NUnit.Framework;
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
7
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
8 namespace IBBoard.Ini
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
9 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
10 [TestFixture()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
11 public class IniFileReaderTest
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
12 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
13 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
14 public void TestIniFileReaderReturnsEmptyObjectForEmptyIniText()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
15 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
16 IniFile file = IniFileReader.ReadFile("");
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
17 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
18 }
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 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
21 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniText()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
22 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
23 IniFile file = IniFileReader.ReadFile("[ASection]");
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
24 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
25 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
26 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
27 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
28 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
29 }
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 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
32 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniTextWithContent()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
33 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
34 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
35 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
36 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
37 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
38 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
39 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
40 }
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 [Test()]
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
43 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniTextWithMultiLineContent()
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
44 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
45 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
46 Assert.AreEqual(1, file.Sections.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
47 Assert.IsTrue(file.HasSection("ASection"));
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
48 IniSection section = file["ASection"];
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
49 Assert.IsNotNull(section);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
50 Assert.AreEqual(4, section.Keys.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
51 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
52
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
53 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
54
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
55 foreach (string key in keys)
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 bool found = false;
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 foreach (string sectionKey in section.Keys)
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 if (key == sectionKey)
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 found = true;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
64 break;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
65 }
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
12
0be17f8102ed * Fix unit test paths
IBBoard <dev@ibboard.co.uk>
parents: 6
diff changeset
68 Assert.IsTrue(found, "Did not find " + key);
1
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 }
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 [Test()]
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
73 public void TestIniFileReaderContainsExpectedSectionsForTwoSectionIniTextWithContent()
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
74 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
75 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
76 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
77 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
78 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
79 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
80 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
81 Assert.IsTrue(file.HasSection("BSection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
82 Assert.IsNotNull(file["BSection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
83 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
84 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
85 }
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 [Test()]
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
88 public void TestIniFileReaderContainsExpectedSectionsForTwoConsecutiveSectionSectionsInText()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
89 {
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
90 IniFile file = IniFileReader.ReadFile("[SectionA]\n[SectionB]");
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
91 Assert.AreEqual(2, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
92 Assert.IsTrue(file.HasSection("SectionA"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
93 Assert.IsNotNull(file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
94 Assert.AreEqual(0, file["SectionA"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
95 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
96 Assert.IsTrue(file.HasSection("SectionB"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
97 Assert.IsNotNull(file["SectionB"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
98 Assert.AreEqual(0, file["SectionB"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
99 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionB"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
100 }
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 [Test()]
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
103 public void TestIniFileReaderContainsExpectedSectionWhenTextPaddedAtStart()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
104 {
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
105 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
106 Assert.AreEqual(1, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
107 Assert.IsTrue(file.HasSection("ASection"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
108 Assert.IsNotNull(file["ASection"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
109 Assert.AreEqual(1, file["ASection"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
110 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
111 }
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 [Test()]
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
114 public void TestIniFileReaderReturnsEmptyObjectForEmptyIniFile()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
115 {
12
0be17f8102ed * Fix unit test paths
IBBoard <dev@ibboard.co.uk>
parents: 6
diff changeset
116 IniFile file = IniFileReader.ReadFile(new FileInfo("TestData/EmptyFile.ini"));
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
117 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
118 }
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 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
121 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFile()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
122 {
12
0be17f8102ed * Fix unit test paths
IBBoard <dev@ibboard.co.uk>
parents: 6
diff changeset
123 IniFile file = IniFileReader.ReadFile(new FileInfo("TestData/SingleSectionSingleLine.ini"));
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
124 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
125 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
126 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
127 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
128 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
129 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
130
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
131 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
132 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFileWithContent()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
133 {
12
0be17f8102ed * Fix unit test paths
IBBoard <dev@ibboard.co.uk>
parents: 6
diff changeset
134 IniFile file = IniFileReader.ReadFile(new FileInfo("TestData/SingleSectionWithContent.ini"));
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
135 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
136 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
137 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
138 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
139 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
140 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
141
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
142 [Test()]
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
143 public void TestIniFileReaderContainsExpectedSectionsForTwoSectionIniFileWithContent()
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
144 {
12
0be17f8102ed * Fix unit test paths
IBBoard <dev@ibboard.co.uk>
parents: 6
diff changeset
145 IniFile file = IniFileReader.ReadFile(new FileInfo("TestData/DoubleSectionWithContent.ini"));
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
146 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
147 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
148 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
149 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
150 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
151 Assert.IsTrue(file.HasSection("BSection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
152 Assert.IsNotNull(file["BSection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
153 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
154 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
155 }
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
156
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
157 [Test()]
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
158 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFileWithMultiLineContent()
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
159 {
12
0be17f8102ed * Fix unit test paths
IBBoard <dev@ibboard.co.uk>
parents: 6
diff changeset
160 IniFile file = IniFileReader.ReadFile(new FileInfo("TestData/SingleSectionWithMultiLineContent.ini"));
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
161 Assert.AreEqual(1, file.Sections.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
162 Assert.IsTrue(file.HasSection("ASection"));
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
163 IniSection section = file["ASection"];
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
164 Assert.IsNotNull(section);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
165 Assert.AreEqual(4, section.Keys.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
166 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
167
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
168 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
169
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
170 foreach (string key in keys)
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 bool found = false;
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 foreach (string sectionKey in section.Keys)
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 if (key == sectionKey)
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 found = true;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
179 break;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
180 }
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
181 }
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
182
12
0be17f8102ed * Fix unit test paths
IBBoard <dev@ibboard.co.uk>
parents: 6
diff changeset
183 Assert.IsTrue(found, "Did not find " + key);
1
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 }
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
186
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
187 [Test()]
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
188 public void TestIniFileReaderContainsExpectedSectionWhenFilePaddedAtStart()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
189 {
12
0be17f8102ed * Fix unit test paths
IBBoard <dev@ibboard.co.uk>
parents: 6
diff changeset
190 IniFile file = IniFileReader.ReadFile(new FileInfo("TestData/StartPadded.ini"));
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
191 Assert.AreEqual(1, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
192 Assert.IsTrue(file.HasSection("ASection"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
193 Assert.IsNotNull(file["ASection"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
194 Assert.AreEqual(1, file["ASection"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
195 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
196 }
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
197
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
198 [Test()]
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
199 public void TestIniFileReaderContainsExpectedSectionsForTwoConsecutiveSectionSectionsInFile()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
200 {
12
0be17f8102ed * Fix unit test paths
IBBoard <dev@ibboard.co.uk>
parents: 6
diff changeset
201 IniFile file = IniFileReader.ReadFile(new FileInfo("TestData/ConsecutiveSection.ini"));
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
202 Assert.AreEqual(2, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
203 Assert.IsTrue(file.HasSection("SectionA"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
204 Assert.IsNotNull(file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
205 Assert.AreEqual(0, file["SectionA"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
206 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
207 Assert.IsTrue(file.HasSection("SectionB"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
208 Assert.IsNotNull(file["SectionB"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
209 Assert.AreEqual(0, file["SectionB"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
210 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionB"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
211 }
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
212 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
213 }