// This file (AbstractLimitTest.cs) is a part of the IBBoard.Tests project 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.Limits { public abstract class AbstractLimitTest { [Test()] public void TestDefaultValues() { AbstractLimit limit = GetDefaultLimitObject(); Assert.AreEqual(GetSize100ExpectedValue(), limit.GetLimit(100)); Assert.AreEqual(GetSize10ExpectedValue(), limit.GetLimit(10)); Assert.AreEqual(GetSize1ExpectedValue(), limit.GetLimit(1)); } [Test()] public void TestEquality() { Assert.AreEqual(GetDefaultLimitObject(), GetEqualLimitObject()); Assert.AreNotEqual(GetDefaultLimitObject(), GetUnequalLimitObject()); //TODO: Use reflection to get other "GetUnequal" objects and test them } public abstract AbstractLimit GetDefaultLimitObject(); public abstract double GetSize100ExpectedValue(); public abstract double GetSize10ExpectedValue(); public abstract double GetSize1ExpectedValue(); public abstract AbstractLimit GetEqualLimitObject(); public abstract AbstractLimit GetUnequalLimitObject(); } }