示例#1
0
        public void MoveBackwardsTo(string marking)
        {
            string valueBeforeCurrentPosition = _originalValue.Substring(0, _currentMarking.Position);

            int markerPosition = valueBeforeCurrentPosition.LastIndexOf(marking);

            if (markerPosition == MARKER_NOT_FOUND)
            {
                throw new StringMarkingNotFoundException(marking);
            }

            _currentMarking = new StringMarker(markerPosition, marking);
        }
示例#2
0
        public void MoveForwardTo(string marking)
        {
            string valueAfterCurrentPosition = _originalValue.Substring(_currentMarking.Position + _currentMarking.Length);

            int markerPosition = valueAfterCurrentPosition.IndexOf(marking);

            if (markerPosition == MARKER_NOT_FOUND)
            {
                throw new StringMarkingNotFoundException(marking);
            }

            _currentMarking = new StringMarker(markerPosition + _currentMarking.Position + _currentMarking.Length, marking);
        }
示例#3
0
 public void SetStartMarker()
 {
     _startMarking = _currentMarking;
 }
示例#4
0
 public void SetEndMarker()
 {
     _endMarking = _currentMarking;
 }
示例#5
0
        public DissectibleString(string originalValue)
        {
            _originalValue = originalValue;

            _currentMarking = new StringMarker(0, string.Empty);
        }