namespace Zeta.EnterpriseLibrary.UnitTests.Tests.Common
{
#region Using directives.
// ----------------------------------------------------------------------
using System;
using System.Globalization;
using EnterpriseLibrary.Common;
using NUnit.Framework;
// ----------------------------------------------------------------------
#endregion
/////////////////////////////////////////////////////////////////////////
[TestFixture]
public sealed class ConvertHelperTest
{
#region Helper members.
// ------------------------------------------------------------------
private CultureInfo _germanCulture;
private CultureInfo _englishCulture;
// ------------------------------------------------------------------
#endregion
#region Set up and tear down.
// ------------------------------------------------------------------
[TestFixtureSetUp]
public void TestFixtureSetUp()
{
//...
}
[TestFixtureTearDown]
public void TestFixtureTearDown()
{
//...
}
[SetUp]
public void SetUp()
{
//...
_germanCulture = new CultureInfo( @"de-DE" );
_englishCulture = new CultureInfo( @"en-US" );
}
[TearDown]
public void TearDown()
{
//...
}
// ------------------------------------------------------------------
#endregion
#region Tests.
// ------------------------------------------------------------------
[Test]
public void TestToBoolean()
{
Assert.AreEqual( ConvertHelper.ToBoolean( bool.TrueString ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( bool.FalseString ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( bool.FalseString.ToLowerInvariant() ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( bool.FalseString.ToUpperInvariant() ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( bool.TrueString.ToLowerInvariant() ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( bool.TrueString.ToUpperInvariant() ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( null ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( null, true ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( null, false ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( 0 ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( 1 ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( -1 ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( 2 ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( 3 ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( -2 ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( -3 ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( @"0" ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( @"1" ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( @"-1" ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( @"2" ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( @"3" ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( @"-2" ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( @"-3" ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( @"true" ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( @"false" ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( @"j" ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( @"y" ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( @"n" ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( @"J" ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( @"Y" ), true );
Assert.AreEqual( ConvertHelper.ToBoolean( @"N" ), false );
Assert.AreEqual( ConvertHelper.ToBoolean( @"something_other_here" ), false );
}
[Test]
public void TestToInt32()
{
Assert.AreEqual( ConvertHelper.ToInt32( 12345 ), 12345 );
Assert.AreEqual( ConvertHelper.ToInt32( -12345 ), -12345 );
Assert.AreEqual( ConvertHelper.ToInt32( 12345.12 ), 12345 );
Assert.AreEqual( ConvertHelper.ToInt32( -12345.12 ), -12345 );
// No rounding.
Assert.AreEqual( ConvertHelper.ToInt32( 12345.67 ), 12345 );
Assert.AreEqual( ConvertHelper.ToInt32( -12345.67 ), -12345 );
// --
Assert.AreEqual( ConvertHelper.ToInt32( @"12345" ), 12345 );
Assert.AreEqual( ConvertHelper.ToInt32( @"-12345" ), -12345 );
Assert.AreEqual( ConvertHelper.ToInt32( @"12345,12", _germanCulture ), 12345 );
Assert.AreEqual( ConvertHelper.ToInt32( @"-12345,12", _germanCulture ), -12345 );
Assert.AreEqual( ConvertHelper.ToInt32( @"12345,67", _germanCulture ), 12345 );
Assert.AreEqual( ConvertHelper.ToInt32( @"-12345,67", _germanCulture ), -12345 );
// --
Assert.AreEqual( ConvertHelper.ToInt32( @"12345" ), 12345 );
Assert.AreEqual( ConvertHelper.ToInt32( @"-12345" ), -12345 );
Assert.AreEqual( ConvertHelper.ToInt32( @"12345.12", _englishCulture ), 12345 );
Assert.AreEqual( ConvertHelper.ToInt32( @"-12345.12", _englishCulture ), -12345 );
Assert.AreEqual( ConvertHelper.ToInt32( @"12345.67", _englishCulture ), 12345 );
Assert.AreEqual( ConvertHelper.ToInt32( @"-12345.67", _englishCulture ), -12345 );
// --
Assert.AreEqual( ConvertHelper.ToInt32( null ), 0 );
Assert.AreEqual( ConvertHelper.ToInt32( new DateTime() ), 0 );
Assert.AreEqual( ConvertHelper.ToInt32( @"something_other_here" ), 0 );
Assert.AreEqual( ConvertHelper.ToInt32( null, 12345 ), 12345 );
Assert.AreEqual( ConvertHelper.ToInt32( new DateTime(), 12345 ), 12345 );
Assert.AreEqual( ConvertHelper.ToInt32( @"something_other_here", 12345 ), 12345 );
}
[Test]
public void TestToDouble()
{
Assert.AreEqual( ConvertHelper.ToDouble( 12345 ), 12345 );
Assert.AreEqual( ConvertHelper.ToDouble( -12345 ), -12345 );
Assert.AreEqual( ConvertHelper.ToDouble( 12345.12 ), 12345.12 );
Assert.AreEqual( ConvertHelper.ToDouble( -12345.12 ), -12345.12 );
Assert.AreEqual( ConvertHelper.ToDouble( 12345.67 ), 12345.67 );
Assert.AreEqual( ConvertHelper.ToDouble( -12345.67 ), -12345.67 );
Assert.AreEqual( ConvertHelper.ToDouble( 12345.12m ), 12345.12 );
Assert.AreEqual( ConvertHelper.ToDouble( -12345.12m ), -12345.12 );
Assert.AreEqual( ConvertHelper.ToDouble( 12345.67m ), 12345.67 );
Assert.AreEqual( ConvertHelper.ToDouble( -12345.67m ), -12345.67 );
Assert.AreEqual( Math.Round( ConvertHelper.ToDouble( 12345.12f ), 2 ), 12345.12 );
Assert.AreEqual( Math.Round( ConvertHelper.ToDouble( -12345.12f ), 2 ), -12345.12 );
Assert.AreEqual( Math.Round( ConvertHelper.ToDouble( 12345.67f ), 2 ), 12345.67 );
Assert.AreEqual( Math.Round( ConvertHelper.ToDouble( -12345.67f ), 2 ), -12345.67 );
// --
Assert.AreEqual( ConvertHelper.ToDouble( @"12345,12", _germanCulture ), 12345.12 );
Assert.AreEqual( ConvertHelper.ToDouble( @"-12345,12", _germanCulture ), -12345.12 );
Assert.AreEqual( ConvertHelper.ToDouble( @"12345,67", _germanCulture ), 12345.67 );
Assert.AreEqual( ConvertHelper.ToDouble( @"-12345,67", _germanCulture ), -12345.67 );
// --
Assert.AreEqual( ConvertHelper.ToDouble( @"12345.12", _englishCulture ), 12345.12 );
Assert.AreEqual( ConvertHelper.ToDouble( @"-12345.12", _englishCulture ), -12345.12 );
Assert.AreEqual( ConvertHelper.ToDouble( @"12345.67", _englishCulture ), 12345.67 );
Assert.AreEqual( ConvertHelper.ToDouble( @"-12345.67", _englishCulture ), -12345.67 );
}
// ------------------------------------------------------------------
#endregion
}
/////////////////////////////////////////////////////////////////////////
}