annotate IniFileReaderTest.cs @ 2:f880d41804d6

Re #7 - Tests for INI parsing * Add tests for padding at start of file * Add tests for consecutive sections with no content
author IBBoard <dev@ibboard.co.uk>
date Wed, 14 Jan 2009 20:25:58 +0000
parents c2a0d074b3b5
children 2d2f4084679f
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()]
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
75 public void TestIniFileReaderContainsExpectedSectionsForTwoSectionIniTextWithContent()
0
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()]
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
90 public void TestIniFileReaderContainsExpectedSectionsForTwoConsecutiveSectionSectionsInText()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
91 {
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
92 IniFile file = IniFileReader.ReadFile("[SectionA]\n[SectionB]");
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
93 Assert.AreEqual(2, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
94 Assert.IsTrue(file.HasSection("SectionA"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
95 Assert.IsNotNull(file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
96 Assert.AreEqual(0, file["SectionA"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
97 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
98 Assert.IsTrue(file.HasSection("SectionB"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
99 Assert.IsNotNull(file["SectionB"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
100 Assert.AreEqual(0, file["SectionB"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
101 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionB"]);
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
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
104 [Test()]
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
105 public void TestIniFileReaderContainsExpectedSectionWhenTextPaddedAtStart()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
106 {
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
107 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
108 Assert.AreEqual(1, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
109 Assert.IsTrue(file.HasSection("ASection"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
110 Assert.IsNotNull(file["ASection"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
111 Assert.AreEqual(1, file["ASection"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
112 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
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
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
115 [Test()]
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
116 public void TestIniFileReaderReturnsEmptyObjectForEmptyIniFile()
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 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
119 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
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
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
123 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
124 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFile()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
125 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
126 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
127 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
128 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
129 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
130 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
131 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
132 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
133
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
134 [Test()]
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
135 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFileWithContent()
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
136 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
137 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
138 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
139 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
140 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
141 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
142 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
143 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
144
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
145 [Test()]
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
146 public void TestIniFileReaderContainsExpectedSectionsForTwoSectionIniFileWithContent()
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
147 {
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
148 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
149 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
150 Assert.IsTrue(file.HasSection("ASection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
151 Assert.IsNotNull(file["ASection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
152 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
153 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
154 Assert.IsTrue(file.HasSection("BSection"));
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
155 Assert.IsNotNull(file["BSection"]);
1
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
156 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
157 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
158 }
1
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 [Test()]
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
161 public void TestIniFileReaderContainsExpectedSectionForSingleSectionIniFileWithMultiLineContent()
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
162 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
163 IniFile file = IniFileReader.ReadFile(new FileInfo("SingleSectionWithMultiLineContent.ini"));
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
164 Assert.AreEqual(1, file.Sections.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
165 Assert.IsTrue(file.HasSection("ASection"));
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
166 IniSection section = file["ASection"];
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
167 Assert.IsNotNull(section);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
168 Assert.AreEqual(4, section.Keys.Length);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
169 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
170
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
171 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
172
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
173 foreach (string key in keys)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
174 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
175 bool found = false;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
176
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
177 foreach (string sectionKey in section.Keys)
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
178 {
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
179 if (key == sectionKey)
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 found = true;
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
182 break;
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
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
186 Assert.IsTrue(found, "Did not find "+key);
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
187 }
c2a0d074b3b5 Re #7 - Test for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
188 }
2
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
189
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
190 [Test()]
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
191 public void TestIniFileReaderContainsExpectedSectionWhenFilePaddedAtStart()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
192 {
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
193 IniFile file = IniFileReader.ReadFile(new FileInfo("StartPadded.ini"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
194 Assert.AreEqual(1, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
195 Assert.IsTrue(file.HasSection("ASection"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
196 Assert.IsNotNull(file["ASection"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
197 Assert.AreEqual(1, file["ASection"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
198 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["ASection"]);
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
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
201 [Test()]
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
202 public void TestIniFileReaderContainsExpectedSectionsForTwoConsecutiveSectionSectionsInFile()
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
203 {
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
204 IniFile file = IniFileReader.ReadFile(new FileInfo("ConsecutiveSection.ini"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
205 Assert.AreEqual(2, file.Sections.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
206 Assert.IsTrue(file.HasSection("SectionA"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
207 Assert.IsNotNull(file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
208 Assert.AreEqual(0, file["SectionA"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
209 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionA"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
210 Assert.IsTrue(file.HasSection("SectionB"));
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
211 Assert.IsNotNull(file["SectionB"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
212 Assert.AreEqual(0, file["SectionB"].Keys.Length);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
213 Assert.IsNotInstanceOfType(typeof(NonExistantIniSection), file["SectionB"]);
f880d41804d6 Re #7 - Tests for INI parsing
IBBoard <dev@ibboard.co.uk>
parents: 1
diff changeset
214 }
0
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
215 }
ada654b0648c Re #7 - add IBBoard.Ini test\n * Add initial tests
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
216 }