Skip to content

Instantly share code, notes, and snippets.

@emiaj
Created August 14, 2012 03:17
Show Gist options
  • Select an option

  • Save emiaj/3346024 to your computer and use it in GitHub Desktop.

Select an option

Save emiaj/3346024 to your computer and use it in GitHub Desktop.
[TestFixture]
public class NumberBindingFixture
{
private CultureInfo _currentCulture;
private CultureInfo _currentUICulture;
private Model _model;
private string _rawValue;
private double _expectedNumber;
[SetUp]
public void Setup()
{
_currentCulture = Thread.CurrentThread.CurrentCulture;
_currentUICulture = Thread.CurrentThread.CurrentUICulture;
// Faroese
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("fo-FO");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("fo-FO");
// Arrange
_expectedNumber = 12345.67;
_rawValue = "12.345,67";
// Binding
var resolver = ObjectResolver.Basic();
var data = new InMemoryRequestData();
data["NullableDecimal"] = _rawValue;
data["Decimal"] = _rawValue;
var result = resolver.BindModel(typeof(Model), data);
_model = result.Value.As<Model>();
}
[TearDown]
public void TearDown()
{
Thread.CurrentThread.CurrentCulture = _currentCulture;
Thread.CurrentThread.CurrentUICulture = _currentUICulture;
}
[Test]
public void decimal_property_test()
{
_model.Decimal.ShouldEqual(_expectedNumber); // green
}
[Test]
public void nullable_decimal_property_test()
{
_model.NullableDecimal.ShouldEqual(_expectedNumber); // red
}
public class Model
{
public decimal Decimal { get; set; }
public decimal? NullableDecimal { get; set; }
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment