Seeking a quick and dirty way to populate a list of entities for testing purposes
As far as I can see, most of your data is fairly predictable.  What about:

for (int i = 0; i &lt; 9; ++i)
{
   int scenarioTimeInSeconds = 60*(i/3); // Intentional loss of fractional part
   int bearingInDegrees = (i % 3) * 120; // It's now 0, 120, 240
   int rangeInNauticalMiles = (i % 3 == 0) ? 0 : 1;
   int courseInDegrees = (i == 5) ? 180 : 90;
   yield return new Snapshot
       {
           Id = i + 1,
           ScenarioTimeInSeconds = scenarioTimeInSeconds,
           BearingInDegrees = bearingInDegrees,
           RangeInNauticalMiles = rangeInNauticalMiles,
           CourseInDegrees = courseInDegrees,
           SpeedInKnots = 7,
           XCoordinate = 0,
           YCoordinate = 0,
      };
}


This already seems more readable to me.  Now you can split the logic that makes the values for the various local ints off into separate functions and document each one.  In order to do it this way, you do have to have GetSnapshots return an IEnumerable&lt;Snapshot&gt;, but that makes sense anyway -- and if you really want them as an array, just call ToArray() on it outside the function (i.e. GetSnapshots().ToArray()).

Even if you'd rather not do that, you should still change numbers that are used multiple times (in your case: 60, 90, 120, 180, 220) into named constants, unless they're entirely unrelated.