Пример #1
0
        public void adjust_compatible_tag_returns_the_same_tag()
        {
            var t   = new TransactionFilePositionTagger();
            var tag = CheckpointTag.FromPosition(100, 50);

            Assert.AreSame(tag, t.AdjustTag(tag));
        }
Пример #2
0
        public void is_message_after_checkpoint_tag_equal_case()
        {
            var t      = new TransactionFilePositionTagger();
            var result = t.IsMessageAfterCheckpointTag(CheckpointTag.FromPosition(30, 20), _firstEvent);

            Assert.IsFalse(result);
        }
Пример #3
0
        public void zero_position_tag_is_before_first_event_possible()
        {
            var t    = new TransactionFilePositionTagger();
            var zero = t.MakeZeroCheckpointTag();

            var zeroFromEvent = t.MakeCheckpointTag(zero, _zeroEvent);

            Assert.IsTrue(zeroFromEvent > zero);
        }
Пример #4
0
        public void can_adjust_tf_position_tag()
        {
            var t        = new TransactionFilePositionTagger(0);
            var tag      = CheckpointTag.FromPosition(0, 100, 50);
            var original = CheckpointTag.FromEventTypeIndexPositions(0, new TFPos(100, 50), new Dictionary <string, int> {
                { "type1", 1 }, { "type2", 2 }
            });

            Assert.AreEqual(tag, t.AdjustTag(original));
        }
Пример #5
0
        public void When()
        {
            // given
            var tagger          = new TransactionFilePositionTagger(0);
            var positionTracker = new PositionTracker(tagger);

            var newTag = CheckpointTag.FromPosition(0, 100, 50);

            positionTracker.UpdateByCheckpointTagInitial(newTag);
            _tag             = positionTracker.LastTag;
            _tagger          = new TransactionFilePositionTagger(0);
            _positionTracker = new PositionTracker(_tagger);
            // when

            _positionTracker.UpdateByCheckpointTagInitial(_tag);
        }
Пример #6
0
        public void When()
        {
            // given
            var tagger          = new TransactionFilePositionTagger();
            var positionTracker = new PositionTracker(tagger);

            positionTracker.Update(
                new ProjectionMessage.Projections.CommittedEventReceived(
                    Guid.NewGuid(), new EventPosition(100, 50), "stream", 1, false,
                    new Event(Guid.NewGuid(), "eventtype", false, new byte[0], new byte[0])));
            _tag             = positionTracker.LastTag;
            _tagger          = new TransactionFilePositionTagger();
            _positionTracker = new PositionTracker(_tagger);
            // when

            _positionTracker.UpdateByCheckpointTag(_tag);
        }
Пример #7
0
        public void produced_checkpoint_tags_are_correctly_ordered()
        {
            var t    = new TransactionFilePositionTagger();
            var zero = t.MakeZeroCheckpointTag();

            var zeroEvent  = t.MakeCheckpointTag(zero, _zeroEvent);
            var zeroEvent2 = t.MakeCheckpointTag(zeroEvent, _zeroEvent);
            var first      = t.MakeCheckpointTag(zeroEvent2, _firstEvent);
            var second     = t.MakeCheckpointTag(first, _secondEvent);
            var second2    = t.MakeCheckpointTag(zero, _secondEvent);

            Assert.IsTrue(zeroEvent > zero);
            Assert.IsTrue(first > zero);
            Assert.IsTrue(second > first);

            Assert.AreEqual(zeroEvent2, zeroEvent);
            Assert.AreEqual(second, second2);
        }
Пример #8
0
        public void tream_checkpoint_tag_is_incompatible()
        {
            var t = new TransactionFilePositionTagger();

            Assert.IsFalse(t.IsCompatible(CheckpointTag.FromStreamPosition("stream2", 100, 500)));
        }
Пример #9
0
        public void position_checkpoint_tag_is_compatible()
        {
            var t = new TransactionFilePositionTagger();

            Assert.IsTrue(t.IsCompatible(CheckpointTag.FromPosition(1000, 500)));
        }
Пример #10
0
 public void can_be_created()
 {
     var t = new TransactionFilePositionTagger();
 }