private void fieldsMoved(object sender, FieldsMovedEventArgs e)
        {
            var targetIndex = _populationAnalysis.AllFieldsOn(e.Area).Count - 1;

            if (e.Target != null)
            {
                targetIndex = _populationAnalysis.GetAreaIndex(e.Target);
            }

            foreach (var movedField in e.Fields)
            {
                _populationAnalysis.SetPosition(movedField, e.Area, ++targetIndex);
            }

            if (e.Target != null)
            {
                _populationAnalysis.SetPosition(e.Target, e.Area, ++targetIndex);
            }

            RefreshAnalysis();
            _eventPublisher.PublishEvent(new FieldsMovedInPopulationAnalysisEvent(_populationAnalysis, e.Fields));
        }
 public void should_set_an_automatic_index_as_being_the_last_with_the_given_area()
 {
     _pivotAnalysis.GetAreaIndex(_parameterField).ShouldBeEqualTo(1);
 }