Exemplo n.º 1
0
 private IDisposable ShouldUpdateContentWhenContentChangedReceived()
 {
     return(_bus
            .GetEvent <Event.ContentChanged>()
            .Where(@event => @event.Row == Row && @event.Column == Column)
            .Select(@event => @event.Content)
            .ObserveOn(_scheduler)
            .Subscribe(_content));
 }
Exemplo n.º 2
0
 private IDisposable ShouldRecalculateDependentCellsWhenTextChanges()
 {
     return(_bus
            .GetEvent <Event.TextChanged>()
            .Select(@event => new { Event = @event, Dependencies = CollateDependencies(@event) })
            .SelectMany(tuple => tuple.Dependencies
                        .Select(RecalculateCell)
                        .Select(cell => new Event.ContentChanged(Guid.NewGuid(), tuple.Event.Id, tuple.Event.Id)
     {
         Row = cell.Index.Row, Column = cell.Index.Column, Content = cell.Content
     }))
            .Subscribe(_bus.Publish));
 }