public async Task CreateBinder_DateTimeOffset() { // Arrange var value = DateTimeOffset.Now; var component = new EventCountingComponent(); Action <DateTimeOffset> setter = (_) => value = _; var binder = EventCallback.Factory.CreateBinder(component, setter, value); var expectedValue = new DateTime(2018, 3, 4, 1, 2, 3); // Act await binder.InvokeAsync(new UIChangeEventArgs() { Value = expectedValue.ToString(), }); Assert.Equal(expectedValue, value); Assert.Equal(1, component.Count); }
public async Task CreateBinder_NullableDecimal() { // Arrange var value = (decimal?)17; var component = new EventCountingComponent(); Action <decimal?> setter = (_) => value = _; var binder = EventCallback.Factory.CreateBinder(component, setter, value); var expectedValue = (decimal?)42; // Act await binder.InvokeAsync(new UIChangeEventArgs() { Value = "42", }); Assert.Equal(expectedValue, value); Assert.Equal(1, component.Count); }
public async Task CreateBinder_NullableEnum() { // Arrange var value = (AttributeTargets?)AttributeTargets.All; var component = new EventCountingComponent(); Action <AttributeTargets?> setter = (_) => value = _; var binder = EventCallback.Factory.CreateBinder(component, setter, value); var expectedValue = AttributeTargets.Class; // Act await binder.InvokeAsync(new UIChangeEventArgs() { Value = expectedValue.ToString(), }); Assert.Equal(expectedValue, value); Assert.Equal(1, component.Count); }
public async Task CreateBinder_Bool() { // Arrange var value = false; var component = new EventCountingComponent(); Action <bool> setter = (_) => value = _; var binder = EventCallback.Factory.CreateBinder(component, setter, value); var expectedValue = true; // Act await binder.InvokeAsync(new UIChangeEventArgs() { Value = true, }); Assert.Equal(expectedValue, value); Assert.Equal(1, component.Count); }
public async Task CreateBinder_NumericType_WithInvariantCulture() { // Arrange var value = 17_000; var component = new EventCountingComponent(); Action <int> setter = (_) => value = _; var binder = EventCallback.Factory.CreateBinder(component, setter, value, CultureInfo.InvariantCulture); var expectedValue = 42_000; // Act await binder.InvokeAsync(new ChangeEventArgs() { Value = "42,000.00", }); Assert.Equal(expectedValue, value); Assert.Equal(1, component.Count); }
public async Task CreateBinder_NullableGuid() { // Arrange var value = (Guid?)Guid.NewGuid(); var component = new EventCountingComponent(); Action <Guid?> setter = (_) => value = _; var binder = EventCallback.Factory.CreateBinder(component, setter, value); var expectedValue = Guid.NewGuid(); // Act await binder.InvokeAsync(new ChangeEventArgs() { Value = expectedValue.ToString(), }); Assert.Equal(expectedValue, value); Assert.Equal(1, component.Count); }
public async Task CreateBinder_NullableDateTime() { // Arrange var value = (DateTime?)DateTime.Now; var component = new EventCountingComponent(); Action <DateTime?> setter = (_) => value = _; var binder = EventCallback.Factory.CreateBinder(component, setter, value); var expectedValue = new DateTime(2018, 3, 4, 1, 2, 3); // Act await binder.InvokeAsync(new ChangeEventArgs() { Value = expectedValue.ToString(CultureInfo.InvariantCulture), }); Assert.Equal(expectedValue, value); Assert.Equal(1, component.Count); }
public async Task CreateBinder_String() { // Arrange var value = "hi"; var component = new EventCountingComponent(); Action <string> setter = (_) => value = _; var binder = EventCallback.Factory.CreateBinder(component, setter, value); var expectedValue = "bye"; // Act await binder.InvokeAsync(new ChangeEventArgs() { Value = expectedValue, }); Assert.Equal(expectedValue, value); Assert.Equal(1, component.Count); }
public async Task CreateBinder_NullableDateTimeOffset_Format() { // Arrange var value = (DateTimeOffset?)DateTimeOffset.Now; var component = new EventCountingComponent(); Action <DateTimeOffset?> setter = (_) => value = _; var format = "ddd yyyy-MM-dd"; var binder = EventCallback.Factory.CreateBinder(component, setter, value, format); var expectedValue = new DateTime(2018, 3, 4); // Act await binder.InvokeAsync(new UIChangeEventArgs() { Value = expectedValue.ToString(format), }); Assert.Equal(expectedValue, value); Assert.Equal(1, component.Count); }
public async Task CreateBinder_ThrowsConversionException() { // Arrange var value = 17; var component = new EventCountingComponent(); Action <int> setter = (_) => value = _; var binder = EventCallback.Factory.CreateBinder(component, setter, value); // Act await Assert.ThrowsAsync <FormatException>(() => { return(binder.InvokeAsync(new UIChangeEventArgs() { Value = "not-an-integer!", })); }); Assert.Equal(17, value); Assert.Equal(1, component.Count); }