Example #1
0
    public async Task ForwardBackward(string prefix)
    {
        var expectedForward  = this.GetResourceString(prefix + "_Forward.txt");
        var expectedBackward = this.GetResourceString(prefix + "_Backward.txt");

        var sb       = StoryboardParser.Parse(this.GetResourceStream(prefix + ".xml"));
        var listener = new EventListener(sb.Context);

        (await listener.ForwardAsync(sb)).Should().Be(expectedForward);
        (await listener.BackwardAsync(sb)).Should().Be(expectedBackward);
        (await listener.ForwardAsync(sb)).Should().Be(expectedForward);
        (await listener.BackwardAsync(sb)).Should().Be(expectedBackward);
    }
Example #2
0
    public async Task SimpleNarration()
    {
        var sb = new Storyboard();

        sb.Root.ForwardQueue.Enqueue(new MusicItem("abertura", null));
        sb.Root.ForwardQueue.Enqueue(new BackgroundItem("floresta", null));
        var tutorial = new TutorialItem(null);

        tutorial.Block.ForwardQueue.Enqueue(new TutorialTextItem("Tutorial 1", null));
        sb.Root.ForwardQueue.Enqueue(tutorial);

        var listener = new EventListener(sb.Context);
        var data     = await listener.ForwardAsync(sb);

        data.Should().Be(
            @"-- next --
OnMusicChange(abertura)
OnBackgroundChange(floresta)
OnTutorialOpen()
OnTutorialChange(Tutorial 1)
-- next --
OnTutorialClose()
OnBackgroundChange()
OnMusicChange()
"
            );

        data = await listener.BackwardAsync(sb);

        data.Should().Be(
            @"-- previous --
OnMusicChange(abertura)
OnBackgroundChange(floresta)
OnTutorialOpen()
OnTutorialChange(Tutorial 1)
-- previous --
OnTutorialClose()
OnBackgroundChange()
OnMusicChange()
"
            );
    }