Exemple #1
0
    public async Task OnLeaveAsyncShouldUpdateState()
    {
        var context = A.Dummy <INavigationContext>();

        context.State.PersonName = "amaterasu";
        context.State.MoodType   = MoodType.Happy;

        var childBlock = A.Dummy <IBlock>();
        var sut        = new PersonNode("amaterasu", childBlock);

        await sut.LeaveAsync(context);

        context.State.PersonName.Should().BeNull();
        context.State.MoodType.Should().BeNull();
    }
Exemple #2
0
    public async Task OnLeaveAsyncShouldRaiseEvent(string personName, string protagonist)
    {
        var isProtagonist = personName == protagonist;

        var context = A.Dummy <INavigationContext>();

        context.State.ProtagonistName = protagonist;

        var invoker = new TestInvoker(context);

        var childBlock = A.Dummy <IBlock>();
        var sut        = new PersonNode(personName, childBlock);

        await sut.LeaveAsync(context);

        invoker.ShouldContainSingle <IPersonLeaveEvent>(
            i => i.Should().BeEquivalentTo(new { PersonName = personName, IsProtagonist = isProtagonist })
            );
    }