public void InitializeTest()
        {
            // Create list and original data.
            _list         = new LazyOperationsList <int>();
            _originalData = new List <int> {
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0
            };

            // Add all data to list.
            foreach (var d in _originalData)
            {
                _list.Add(d);
            }

            // Create ranges on which operations will be applied.
            _ranges = new List <Interval <int> >
            {
                new Interval <int>(0, 1),
                new Interval <int>(3, 4),
                new Interval <int>(1, 3),                  // Overlaps two.
                new Interval <int>(7, 8),
                new Interval <int>(8, 9),                  // Overlap right.
                new Interval <int>(6, 7),                  // Overlap left.
                new Interval <int>(5, 5),                  // Bordering.
                new Interval <int>(1, 9)                   // Lots of intersections.
            };

            // Create operation which is done for every range.
            _operation = i => i + 1;
        }
		public void InitializeTest()
		{
			// Create list and original data.
			_list = new LazyOperationsList<int>();
			_originalData = new List<int> { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

			// Add all data to list.
			foreach ( var d in _originalData )
			{
				_list.Add( d );
			}

			// Create ranges on which operations will be applied.
			_ranges = new List<Interval<int>>
			{
				new Interval<int>( 0, 1 ),
				new Interval<int>( 3, 4 ),
				new Interval<int>( 1, 3 ), // Overlaps two.
				new Interval<int>( 7, 8 ),
				new Interval<int>( 8, 9 ), // Overlap right.
				new Interval<int>( 6, 7 ), // Overlap left.
				new Interval<int>( 5, 5 ), // Bordering.
				new Interval<int>( 1, 9 )  // Lots of intersections.
			};

			// Create operation which is done for every range.
			_operation = i => i + 1;
		}
        public override void Add(TValue value)
        {
            // Get position for the new point.
            TMath position = default(TMath);

            if (_data.Count > 0)
            {
                // Add the new key point, with the accumulated distance since the last key point.
                KeyPoint last     = _data[_data.Count - 1];
                TMath    distance = DistanceBetween(last.Value, value);
                position = Operator <TMath> .Add(last.Position, distance);
            }

            // Create new key point.
            var newKeyPoint = new KeyPoint
            {
                Position = position,
                Value    = value
            };

            // Update data range.
            if (_dataRange == null)
            {
                // First object has zero distance.
                _dataRange = new Interval <TMath>(_zero, _zero);
            }
            else
            {
                _dataRange = _dataRange.ExpandTo(position);
            }

            _data.Add(newKeyPoint);
        }
Пример #4
0
 public LazyOperationsListTest()
 {
     // Add data to list.
     foreach (int d in _originalData)
     {
         _list.Add(d);
     }
 }