public void uses_correct_interval() { Assert.False(_sut.GetOrReserve("eventTypeA", out var eventTypeNumberA, out var newNumberA, out var newNameA)); Assert.Equal("eventTypeA", newNameA); Assert.Equal(LogV3SystemEventTypes.FirstRealEventTypeNumber, eventTypeNumberA); Assert.Equal(LogV3SystemEventTypes.FirstRealEventTypeNumber, newNumberA); Assert.False(_sut.GetOrReserve("eventTypeB", out var eventTypeNumberB, out var newNumberB, out var newNameB)); Assert.Equal("eventTypeB", newNameB); Assert.Equal(LogV3SystemEventTypes.FirstRealEventTypeNumber + 1, eventTypeNumberB); Assert.Equal(LogV3SystemEventTypes.FirstRealEventTypeNumber + 1, newNumberB); }
public void can_reserve_and_confirm() { // reserve streamA Assert.False(_sut.GetOrReserve("streamA", out var streamNumber, out var newNumber, out var newName)); Assert.Equal("streamA", newName); Assert.Equal(LogV3SystemStreams.FirstRealStream, streamNumber); Assert.Equal(LogV3SystemStreams.FirstRealStream, newNumber); // can be found by writer Assert.True(_sut.GetOrReserve("streamA", out streamNumber, out _, out _)); Assert.Equal(LogV3SystemStreams.FirstRealStream, streamNumber); // cannot be found by reader Assert.False(_persistence.TryGetValue("streamA", out _)); // confirm (i.e. it has now has been replicated) _sut.Confirm("streamA", streamNumber); // can be found by writer and reader Assert.True(_sut.GetOrReserve("streamA", out streamNumber, out _, out _)); Assert.Equal(LogV3SystemStreams.FirstRealStream, streamNumber); Assert.True(_persistence.TryGetValue("streamA", out streamNumber)); Assert.Equal(LogV3SystemStreams.FirstRealStream, streamNumber); }