private static void TestAddCoordinatesOptional(double noDataValue = double.NaN) { Assert.IsFalse(0d.Equals(noDataValue), "noDataValue must not be 0"); Assert.IsFalse(1d.Equals(noDataValue), "noDataValue must not be 1"); var buf = new CoordinateBuffer(noDataValue); buf.AddCoordinate(0, 0, m: noDataValue); Assert.AreEqual(1, buf.Count); CheckDefinedFlags(buf, Ordinates.XY); buf.Clear(); buf.AddCoordinate(0, 0, m: 1); Assert.AreEqual(1, buf.Count); CheckDefinedFlags(buf, Ordinates.XYM); buf.Clear(); buf.AddCoordinate(0, 0, noDataValue); Assert.AreEqual(1, buf.Count); CheckDefinedFlags(buf, Ordinates.XY); buf.Clear(); buf.AddCoordinate(0, 0, 1); Assert.AreEqual(1, buf.Count); CheckDefinedFlags(buf, Ordinates.XYZ); buf.Clear(); buf.AddCoordinate(0, 0, noDataValue, noDataValue); Assert.AreEqual(1, buf.Count); CheckDefinedFlags(buf, Ordinates.XY); buf.Clear(); buf.AddCoordinate(0, 0, 1, 1); Assert.AreEqual(1, buf.Count); CheckDefinedFlags(buf, Ordinates.XYZM); }