view IniSectionTest.cs @ 6:4f281289bcdd

Re #8 - License code * Specify version of LGPL in headers * Add COPYING.GPL and COPYING.LGPL in to project with license details
author IBBoard <dev@ibboard.co.uk>
date Sun, 25 Jan 2009 14:55:42 +0000
parents 59186ab49249
children eac501db18e7
line wrap: on
line source

// This file (IniSectionTest.cs) is a part of the IBBoard.Ini.Tests library and is copyright 2009 IBBoard.
//
// 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.

using System;
using NUnit.Framework;

namespace IBBoard.Ini
{
	[TestFixture()]
	public class IniSectionTest
	{
		[Test()]
		public void TestAddingCommentLineDoesNotAddKeyItem()
		{
			IniSection section = new IniSection("someName");
			section.AddIniLine(new IniCommentLine("something"));
			Assert.AreEqual(0, section.Keys.Length);
		}
		
		[Test()]
		public void TestAddingBlankLineDoesNotAddKeyItem()
		{
			IniSection section = new IniSection("someName");
			section.AddIniLine(new IniBlankLine());
			Assert.AreEqual(0, section.Keys.Length);
		}
		
		[Test()]
		public void TestAddingKeyValuePairLineAddsKeyItem()
		{
			IniSection section = new IniSection("someName");
			IniKeyValuePairLine line = new IniKeyValuePairLine("something", "value");
			section.AddIniLine(line);
			Assert.AreEqual(1, section.Keys.Length);
			Assert.AreEqual(line, section["something"]);
		}
		
		[Test()]
		[ExpectedException("IBBoard.Ini.DuplicateIniLineException")]
		public void TestAddingKeyValuePairLineExceptionsOnDuplicateKey()
		{
			IniSection section = new IniSection("someName");
			IniKeyValuePairLine line = new IniKeyValuePairLine("something", "value");
			section.AddIniLine(line);
			line = new IniKeyValuePairLine("something", "different");
			section.AddIniLine(line);
		}
	}
}