Mercurial > repos > IBBoard.Ini.Tests
annotate IniFileTest.cs @ 12:0be17f8102ed
* Fix unit test paths
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Wed, 07 Nov 2012 20:22:20 +0000 |
parents | 62221475c572 |
children |
rev | line source |
---|---|
5
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 // This file (IniFileTest.cs) is a part of IBBoard.Ini.Tests library and is copyright 2009 IBBoard. |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 // |
6 | 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. |
5
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
4 |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 using System; |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 using NUnit.Framework; |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 namespace IBBoard.Ini |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
9 { |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 [TestFixture()] |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 public class IniFileTest |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 { |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 [Test()] |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 public void TestAddingSectionMakesSectionAvailable() |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 { |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 IniFile file = new IniFile(); |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
17 IniSection section = new IniSection("section"); |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
18 file.AddSection(section); |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
19 Assert.AreEqual(1, file.Sections.Length); |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
20 Assert.IsTrue(file.HasSection("section")); |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
21 Assert.AreEqual(section, file["section"]); |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
22 } |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
23 |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
24 [Test()] |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
25 [ExpectedException("IBBoard.Ini.DuplicateIniSectionException")] |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
26 public void TestAddingDuplicateSectionThrowsDuplicateSectionException() |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
27 { |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
28 IniFile file = new IniFile(); |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
29 file.AddSection(new IniSection("key")); |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
30 file.AddSection(new IniSection("key")); |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
31 } |
10
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
32 |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
33 [Test()] |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
34 [ExpectedException("IBBoard.Ini.DuplicateIniSectionException")] |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
35 public void TestAddingDuplicateSectionWithDifferentNameCaseThrowsDuplicateSectionException() |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
36 { |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
37 IniFile file = new IniFile(); |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
38 file.AddSection(new IniSection("key")); |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
39 file.AddSection(new IniSection("KEY")); |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
40 } |
5
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
41 |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
42 [Test()] |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
43 public void TestGettingNonExistantSectionDoesNotReturnNull() |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
44 { |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
45 IniFile file = new IniFile(); |
9
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
46 IniSection section = file["non-existant-section"]; |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
47 Assert.IsNotNull(section); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
48 Assert.IsInstanceOfType(typeof(NonExistantIniSection), section); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
49 } |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
50 |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
51 [Test()] |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
52 public void TestGettingSectionLineValueOnNonExistantSectionReturnsNull() |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
53 { |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
54 IniFile file = new IniFile(); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
55 Assert.IsNull(file.GetSectionLineValue("a", "b")); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
56 } |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
57 |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
58 [Test()] |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
59 public void TestGettingSectionLineValueOnNonExistantLineInSectionReturnsNull() |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
60 { |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
61 IniFile file = new MockIniFileWithOneSectionAndOneLine(); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
62 Assert.IsNull(file.GetSectionLineValue(MockIniFileWithOneSectionAndOneLine.SECTION_NAME, "b")); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
63 } |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
64 |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
65 [Test()] |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
66 public void TestGettingSectionLineValueOnLineInSectionReturnsValue() |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
67 { |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
68 IniFile file = new MockIniFileWithOneSectionAndOneLine(); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
69 Assert.AreEqual(MockIniFileWithOneSectionAndOneLine.VALUE, file.GetSectionLineValue(MockIniFileWithOneSectionAndOneLine.SECTION_NAME, MockIniFileWithOneSectionAndOneLine.KEY_NAME)); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
70 } |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
71 |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
72 [Test()] |
10
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
73 public void TestGettingSectionLineValueOnLineInSectionWithDifferentSectionNameCaseReturnsValue() |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
74 { |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
75 IniFile file = new MockIniFileWithOneSectionAndOneLine(); |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
76 Assert.AreEqual(MockIniFileWithOneSectionAndOneLine.VALUE, file.GetSectionLineValue(MockIniFileWithOneSectionAndOneLine.SECTION_NAME.ToUpper(), MockIniFileWithOneSectionAndOneLine.KEY_NAME)); |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
77 } |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
78 |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
79 [Test()] |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
80 public void TestGettingSectionLineValueOnLineInSectionWithDifferentLineNameCaseReturnsValue() |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
81 { |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
82 IniFile file = new MockIniFileWithOneSectionAndOneLine(); |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
83 Assert.AreEqual(MockIniFileWithOneSectionAndOneLine.VALUE, file.GetSectionLineValue(MockIniFileWithOneSectionAndOneLine.SECTION_NAME, MockIniFileWithOneSectionAndOneLine.KEY_NAME.ToUpper())); |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
84 } |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
85 |
62221475c572
Fixes #17 - Make INI section and keys case-insensitive
IBBoard <dev@ibboard.co.uk>
parents:
9
diff
changeset
|
86 [Test()] |
9
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
87 public void TestGettingSectionLineValueOnNonExistantSectionReturnsDefaultValue() |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
88 { |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
89 IniFile file = new IniFile(); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
90 Assert.AreEqual("default-value", file.GetSectionLineValue("a", "b", "default-value")); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
91 } |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
92 |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
93 [Test()] |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
94 public void TestGettingSectionLineValueOnNonExistantLineInSectionReturnsDefaultValue() |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
95 { |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
96 IniFile file = new MockIniFileWithOneSectionAndOneLine(); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
97 Assert.AreEqual("default-value", file.GetSectionLineValue(MockIniFileWithOneSectionAndOneLine.SECTION_NAME, "b", "default-value")); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
98 } |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
99 |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
100 [Test()] |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
101 public void TestGettingSectionLineValueOnLineInSectionDoesNotReturnDefault() |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
102 { |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
103 IniFile file = new MockIniFileWithOneSectionAndOneLine(); |
eac501db18e7
Re #11 - Add getter methods to IniFile and IniSection
IBBoard <dev@ibboard.co.uk>
parents:
6
diff
changeset
|
104 Assert.AreEqual(MockIniFileWithOneSectionAndOneLine.VALUE, file.GetSectionLineValue(MockIniFileWithOneSectionAndOneLine.SECTION_NAME, MockIniFileWithOneSectionAndOneLine.KEY_NAME, "default-value")); |
5
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
105 } |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
106 } |
467e09744775
Closes #7 - Add tests to INI parsing
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
107 } |