Exemplo n.º 1
0
        public void Streaming_simple()
        {
            aggregator.OnNext(G("1", 100));
            checkpoints.Count.Should().Be(1);
            checkpoints[0].RiderId.Should().Be("1");
            checkpoints[0].Timestamp.Should().Be(new DateTime(100));
            aggCheckpoints.Count.Should().Be(0);

            aggregator.OnNext(G("1", 120));

            checkpoints.Count.Should().Be(2);
            checkpoints[1].RiderId.Should().Be("1");
            checkpoints[1].Timestamp.Should().Be(new DateTime(120));
            aggCheckpoints.Count.Should().Be(1);
            aggCheckpoints[0].RiderId.Should().Be("1");
            aggCheckpoints[0].Timestamp.Should().Be(new DateTime(100));
            aggCheckpoints[0].LastSeen.Should().Be(new DateTime(100));

            aggregator.OnNext(G("1", 125));
            aggregator.OnNext(G("1", 140));

            checkpoints.Count.Should().Be(3);
            checkpoints[2].RiderId.Should().Be("1");
            checkpoints[2].Timestamp.Should().Be(new DateTime(140));
            aggCheckpoints.Count.Should().Be(2);
            aggCheckpoints[1].RiderId.Should().Be("1");
            aggCheckpoints[1].Timestamp.Should().Be(new DateTime(120));
            aggCheckpoints[1].LastSeen.Should().Be(new DateTime(125));
        }
Exemplo n.º 2
0
 public void Initialize(IEnumerable <Checkpoint> initialCheckpoints = null)
 {
     Track = new TrackOfCheckpoints(StartTime, FinishCriteria);
     RawCheckpoints.Clear();
     AggCheckpoints.Clear();
     checkpointAggregator = TimestampAggregatorConfigurations.ForCheckpoint(MinLap);
     checkpointAggregator.Subscribe(Track.Append);
     checkpointAggregator.AggregatedCheckpoints.Subscribe(AggCheckpoints.Add);
     foreach (var checkpoint in initialCheckpoints)
     {
         checkpointAggregator.OnNext(ResolveRiderId(checkpoint));
     }
 }
Exemplo n.º 3
0
 public void AppendCheckpoint(Checkpoint checkpoint)
 {
     RawCheckpoints.Add(checkpoint);
     checkpointAggregator.OnNext(ResolveRiderId(checkpoint));
 }