Skip to content

Commit d0775f5

Browse files
committed
Add field command tests.
1 parent 940c140 commit d0775f5

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

tests/UnityMvvmToolkit.Test.Integration/BindingContextObjectProviderTests.cs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -391,17 +391,18 @@ public void GetCommand_ShouldReturnCommand_WhenDataIsValid()
391391
var objectProvider = new BindingContextObjectProvider(Array.Empty<IValueConverter>());
392392
var bindingContext = new MyBindingContext();
393393

394-
ICommand incrementCommand;
395-
ICommand decrementCommand;
396-
397394
// Act
398-
incrementCommand =
399-
objectProvider.GetCommand<ICommand>(bindingContext, nameof(MyBindingContext.IncrementCommand));
395+
var fieldCommand = objectProvider
396+
.GetCommand<ICommand>(bindingContext, nameof(MyBindingContext.FieldCommand));
397+
398+
var incrementCommand = objectProvider
399+
.GetCommand<ICommand>(bindingContext, nameof(MyBindingContext.IncrementCommand));
400400

401-
decrementCommand =
402-
objectProvider.GetCommand<ICommand>(bindingContext, nameof(MyBindingContext.DecrementCommand));
401+
var decrementCommand = objectProvider
402+
.GetCommand<ICommand>(bindingContext, nameof(MyBindingContext.DecrementCommand));
403403

404404
// Assert
405+
fieldCommand.Should().NotBeNull().And.BeAssignableTo<IBaseCommand>();
405406
incrementCommand.Should().NotBeNull().And.BeAssignableTo<IBaseCommand>();
406407
decrementCommand.Should().NotBeNull().And.BeAssignableTo<IBaseCommand>();
407408
}
@@ -452,14 +453,15 @@ public void GetCommand_ShouldThrow_WhenCommandTypeIsNotAssignableFromPropertyTyp
452453
.Should()
453454
.Throw<InvalidCastException>()
454455
.WithMessage(
455-
$"Can not cast the {typeof(IReadOnlyProperty<string>)} command to the {typeof(ICommand)} command.");
456+
$"Can not cast the '{typeof(IReadOnlyProperty<string>)}' command to the '{typeof(ICommand)}' command.");
456457
}
457458

458459
[Fact]
459460
public void RentCommandWrapper_ShouldReturnCommand_WhenDataIsValid()
460461
{
461462
// Arrange
462463
const string commandName = nameof(MyBindingContext.SetValueCommand);
464+
const string fieldCommandName = nameof(MyBindingContext.SetValueFieldCommand);
463465

464466
var objectProvider = new BindingContextObjectProvider(new IValueConverter[]
465467
{
@@ -468,14 +470,16 @@ public void RentCommandWrapper_ShouldReturnCommand_WhenDataIsValid()
468470

469471
var bindingContext = new MyBindingContext();
470472

471-
IBaseCommand setValueCommand;
472473
var setValueCommandBindingData = $"{commandName}, 5".ToCommandBindingData(0);
474+
var setValueFieldCommandBindingData = $"{fieldCommandName}, 5".ToCommandBindingData(0);
473475

474476
// Act
475-
setValueCommand = objectProvider.RentCommandWrapper(bindingContext, setValueCommandBindingData);
477+
var setValueCommand = objectProvider.RentCommandWrapper(bindingContext, setValueCommandBindingData);
478+
var setValueFieldCommand = objectProvider.RentCommandWrapper(bindingContext, setValueFieldCommandBindingData);
476479

477480
// Assert
478481
setValueCommand.Should().NotBeNull();
482+
setValueFieldCommand.Should().NotBeNull();
479483
}
480484

481485
[Fact]

tests/UnityMvvmToolkit.Test.Integration/TestBindingContext/MyBindingContext.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public MyBindingContext(string title = "Title", int intValue = default)
2727
DecrementCommand = new MyCommand(() => Count--);
2828

2929
SetValueCommand = new Command<int>(value => Count = value);
30+
SetValueFieldCommand = new Command<int>(value => Count = value);
3031
}
3132

3233
public int Count
@@ -46,4 +47,5 @@ public int Count
4647
public IMyCommand DecrementCommand { get; }
4748

4849
public ICommand<int> SetValueCommand { get; }
50+
public ICommand<int> SetValueFieldCommand;
4951
}

0 commit comments

Comments
 (0)