Skip to content

Commit 02ae423

Browse files
authored
Merge pull request #502 from angularsen/v4-throw-on-nan
Do not allow NaN or Infinity
2 parents f677ec1 + 83db4ec commit 02ae423

File tree

183 files changed

+3477
-202
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

183 files changed

+3477
-202
lines changed

Common/GeneratedCode/Quantities/Acceleration.Common.g.cs

+16-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
using System.Text.RegularExpressions;
4343
using System.Linq;
4444
using JetBrains.Annotations;
45+
using UnitsNet.InternalHelpers;
4546
using UnitsNet.Units;
4647

4748
// ReSharper disable once CheckNamespace
@@ -88,6 +89,7 @@ static Acceleration()
8889
/// <param name="numericValue">The numeric value to contruct this quantity with.</param>
8990
/// <param name="unit">The unit representation to contruct this quantity with.</param>
9091
/// <remarks>Value parameter cannot be named 'value' due to constraint when targeting Windows Runtime Component.</remarks>
92+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
9193
#if WINDOWS_UWP
9294
private
9395
#else
@@ -98,7 +100,7 @@ static Acceleration()
98100
if(unit == AccelerationUnit.Undefined)
99101
throw new ArgumentException("The quantity can not be created with an undefined unit.", nameof(unit));
100102

101-
_value = numericValue;
103+
_value = Guard.EnsureValidNumber(numericValue, nameof(numericValue));
102104
_unit = unit;
103105
}
104106

@@ -204,6 +206,7 @@ public static BaseDimensions BaseDimensions
204206
/// <summary>
205207
/// Get Acceleration from CentimetersPerSecondSquared.
206208
/// </summary>
209+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
207210
#if WINDOWS_UWP
208211
[Windows.Foundation.Metadata.DefaultOverload]
209212
public static Acceleration FromCentimetersPerSecondSquared(double centimeterspersecondsquared)
@@ -218,6 +221,7 @@ public static Acceleration FromCentimetersPerSecondSquared(QuantityValue centime
218221
/// <summary>
219222
/// Get Acceleration from DecimetersPerSecondSquared.
220223
/// </summary>
224+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
221225
#if WINDOWS_UWP
222226
[Windows.Foundation.Metadata.DefaultOverload]
223227
public static Acceleration FromDecimetersPerSecondSquared(double decimeterspersecondsquared)
@@ -232,6 +236,7 @@ public static Acceleration FromDecimetersPerSecondSquared(QuantityValue decimete
232236
/// <summary>
233237
/// Get Acceleration from FeetPerSecondSquared.
234238
/// </summary>
239+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
235240
#if WINDOWS_UWP
236241
[Windows.Foundation.Metadata.DefaultOverload]
237242
public static Acceleration FromFeetPerSecondSquared(double feetpersecondsquared)
@@ -246,6 +251,7 @@ public static Acceleration FromFeetPerSecondSquared(QuantityValue feetperseconds
246251
/// <summary>
247252
/// Get Acceleration from InchesPerSecondSquared.
248253
/// </summary>
254+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
249255
#if WINDOWS_UWP
250256
[Windows.Foundation.Metadata.DefaultOverload]
251257
public static Acceleration FromInchesPerSecondSquared(double inchespersecondsquared)
@@ -260,6 +266,7 @@ public static Acceleration FromInchesPerSecondSquared(QuantityValue inchespersec
260266
/// <summary>
261267
/// Get Acceleration from KilometersPerSecondSquared.
262268
/// </summary>
269+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
263270
#if WINDOWS_UWP
264271
[Windows.Foundation.Metadata.DefaultOverload]
265272
public static Acceleration FromKilometersPerSecondSquared(double kilometerspersecondsquared)
@@ -274,6 +281,7 @@ public static Acceleration FromKilometersPerSecondSquared(QuantityValue kilomete
274281
/// <summary>
275282
/// Get Acceleration from KnotsPerHour.
276283
/// </summary>
284+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
277285
#if WINDOWS_UWP
278286
[Windows.Foundation.Metadata.DefaultOverload]
279287
public static Acceleration FromKnotsPerHour(double knotsperhour)
@@ -288,6 +296,7 @@ public static Acceleration FromKnotsPerHour(QuantityValue knotsperhour)
288296
/// <summary>
289297
/// Get Acceleration from KnotsPerMinute.
290298
/// </summary>
299+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
291300
#if WINDOWS_UWP
292301
[Windows.Foundation.Metadata.DefaultOverload]
293302
public static Acceleration FromKnotsPerMinute(double knotsperminute)
@@ -302,6 +311,7 @@ public static Acceleration FromKnotsPerMinute(QuantityValue knotsperminute)
302311
/// <summary>
303312
/// Get Acceleration from KnotsPerSecond.
304313
/// </summary>
314+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
305315
#if WINDOWS_UWP
306316
[Windows.Foundation.Metadata.DefaultOverload]
307317
public static Acceleration FromKnotsPerSecond(double knotspersecond)
@@ -316,6 +326,7 @@ public static Acceleration FromKnotsPerSecond(QuantityValue knotspersecond)
316326
/// <summary>
317327
/// Get Acceleration from MetersPerSecondSquared.
318328
/// </summary>
329+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
319330
#if WINDOWS_UWP
320331
[Windows.Foundation.Metadata.DefaultOverload]
321332
public static Acceleration FromMetersPerSecondSquared(double meterspersecondsquared)
@@ -330,6 +341,7 @@ public static Acceleration FromMetersPerSecondSquared(QuantityValue meterspersec
330341
/// <summary>
331342
/// Get Acceleration from MicrometersPerSecondSquared.
332343
/// </summary>
344+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
333345
#if WINDOWS_UWP
334346
[Windows.Foundation.Metadata.DefaultOverload]
335347
public static Acceleration FromMicrometersPerSecondSquared(double micrometerspersecondsquared)
@@ -344,6 +356,7 @@ public static Acceleration FromMicrometersPerSecondSquared(QuantityValue microme
344356
/// <summary>
345357
/// Get Acceleration from MillimetersPerSecondSquared.
346358
/// </summary>
359+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
347360
#if WINDOWS_UWP
348361
[Windows.Foundation.Metadata.DefaultOverload]
349362
public static Acceleration FromMillimetersPerSecondSquared(double millimeterspersecondsquared)
@@ -358,6 +371,7 @@ public static Acceleration FromMillimetersPerSecondSquared(QuantityValue millime
358371
/// <summary>
359372
/// Get Acceleration from NanometersPerSecondSquared.
360373
/// </summary>
374+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
361375
#if WINDOWS_UWP
362376
[Windows.Foundation.Metadata.DefaultOverload]
363377
public static Acceleration FromNanometersPerSecondSquared(double nanometerspersecondsquared)
@@ -372,6 +386,7 @@ public static Acceleration FromNanometersPerSecondSquared(QuantityValue nanomete
372386
/// <summary>
373387
/// Get Acceleration from StandardGravity.
374388
/// </summary>
389+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
375390
#if WINDOWS_UWP
376391
[Windows.Foundation.Metadata.DefaultOverload]
377392
public static Acceleration FromStandardGravity(double standardgravity)

Common/GeneratedCode/Quantities/AmountOfSubstance.Common.g.cs

+17-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
using System.Text.RegularExpressions;
4343
using System.Linq;
4444
using JetBrains.Annotations;
45+
using UnitsNet.InternalHelpers;
4546
using UnitsNet.Units;
4647

4748
// ReSharper disable once CheckNamespace
@@ -88,6 +89,7 @@ static AmountOfSubstance()
8889
/// <param name="numericValue">The numeric value to contruct this quantity with.</param>
8990
/// <param name="unit">The unit representation to contruct this quantity with.</param>
9091
/// <remarks>Value parameter cannot be named 'value' due to constraint when targeting Windows Runtime Component.</remarks>
92+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
9193
#if WINDOWS_UWP
9294
private
9395
#else
@@ -98,7 +100,7 @@ static AmountOfSubstance()
98100
if(unit == AmountOfSubstanceUnit.Undefined)
99101
throw new ArgumentException("The quantity can not be created with an undefined unit.", nameof(unit));
100102

101-
_value = numericValue;
103+
_value = Guard.EnsureValidNumber(numericValue, nameof(numericValue));
102104
_unit = unit;
103105
}
104106

@@ -209,6 +211,7 @@ public static BaseDimensions BaseDimensions
209211
/// <summary>
210212
/// Get AmountOfSubstance from Centimoles.
211213
/// </summary>
214+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
212215
#if WINDOWS_UWP
213216
[Windows.Foundation.Metadata.DefaultOverload]
214217
public static AmountOfSubstance FromCentimoles(double centimoles)
@@ -223,6 +226,7 @@ public static AmountOfSubstance FromCentimoles(QuantityValue centimoles)
223226
/// <summary>
224227
/// Get AmountOfSubstance from CentipoundMoles.
225228
/// </summary>
229+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
226230
#if WINDOWS_UWP
227231
[Windows.Foundation.Metadata.DefaultOverload]
228232
public static AmountOfSubstance FromCentipoundMoles(double centipoundmoles)
@@ -237,6 +241,7 @@ public static AmountOfSubstance FromCentipoundMoles(QuantityValue centipoundmole
237241
/// <summary>
238242
/// Get AmountOfSubstance from Decimoles.
239243
/// </summary>
244+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
240245
#if WINDOWS_UWP
241246
[Windows.Foundation.Metadata.DefaultOverload]
242247
public static AmountOfSubstance FromDecimoles(double decimoles)
@@ -251,6 +256,7 @@ public static AmountOfSubstance FromDecimoles(QuantityValue decimoles)
251256
/// <summary>
252257
/// Get AmountOfSubstance from DecipoundMoles.
253258
/// </summary>
259+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
254260
#if WINDOWS_UWP
255261
[Windows.Foundation.Metadata.DefaultOverload]
256262
public static AmountOfSubstance FromDecipoundMoles(double decipoundmoles)
@@ -265,6 +271,7 @@ public static AmountOfSubstance FromDecipoundMoles(QuantityValue decipoundmoles)
265271
/// <summary>
266272
/// Get AmountOfSubstance from Kilomoles.
267273
/// </summary>
274+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
268275
#if WINDOWS_UWP
269276
[Windows.Foundation.Metadata.DefaultOverload]
270277
public static AmountOfSubstance FromKilomoles(double kilomoles)
@@ -279,6 +286,7 @@ public static AmountOfSubstance FromKilomoles(QuantityValue kilomoles)
279286
/// <summary>
280287
/// Get AmountOfSubstance from KilopoundMoles.
281288
/// </summary>
289+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
282290
#if WINDOWS_UWP
283291
[Windows.Foundation.Metadata.DefaultOverload]
284292
public static AmountOfSubstance FromKilopoundMoles(double kilopoundmoles)
@@ -293,6 +301,7 @@ public static AmountOfSubstance FromKilopoundMoles(QuantityValue kilopoundmoles)
293301
/// <summary>
294302
/// Get AmountOfSubstance from Micromoles.
295303
/// </summary>
304+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
296305
#if WINDOWS_UWP
297306
[Windows.Foundation.Metadata.DefaultOverload]
298307
public static AmountOfSubstance FromMicromoles(double micromoles)
@@ -307,6 +316,7 @@ public static AmountOfSubstance FromMicromoles(QuantityValue micromoles)
307316
/// <summary>
308317
/// Get AmountOfSubstance from MicropoundMoles.
309318
/// </summary>
319+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
310320
#if WINDOWS_UWP
311321
[Windows.Foundation.Metadata.DefaultOverload]
312322
public static AmountOfSubstance FromMicropoundMoles(double micropoundmoles)
@@ -321,6 +331,7 @@ public static AmountOfSubstance FromMicropoundMoles(QuantityValue micropoundmole
321331
/// <summary>
322332
/// Get AmountOfSubstance from Millimoles.
323333
/// </summary>
334+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
324335
#if WINDOWS_UWP
325336
[Windows.Foundation.Metadata.DefaultOverload]
326337
public static AmountOfSubstance FromMillimoles(double millimoles)
@@ -335,6 +346,7 @@ public static AmountOfSubstance FromMillimoles(QuantityValue millimoles)
335346
/// <summary>
336347
/// Get AmountOfSubstance from MillipoundMoles.
337348
/// </summary>
349+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
338350
#if WINDOWS_UWP
339351
[Windows.Foundation.Metadata.DefaultOverload]
340352
public static AmountOfSubstance FromMillipoundMoles(double millipoundmoles)
@@ -349,6 +361,7 @@ public static AmountOfSubstance FromMillipoundMoles(QuantityValue millipoundmole
349361
/// <summary>
350362
/// Get AmountOfSubstance from Moles.
351363
/// </summary>
364+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
352365
#if WINDOWS_UWP
353366
[Windows.Foundation.Metadata.DefaultOverload]
354367
public static AmountOfSubstance FromMoles(double moles)
@@ -363,6 +376,7 @@ public static AmountOfSubstance FromMoles(QuantityValue moles)
363376
/// <summary>
364377
/// Get AmountOfSubstance from Nanomoles.
365378
/// </summary>
379+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
366380
#if WINDOWS_UWP
367381
[Windows.Foundation.Metadata.DefaultOverload]
368382
public static AmountOfSubstance FromNanomoles(double nanomoles)
@@ -377,6 +391,7 @@ public static AmountOfSubstance FromNanomoles(QuantityValue nanomoles)
377391
/// <summary>
378392
/// Get AmountOfSubstance from NanopoundMoles.
379393
/// </summary>
394+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
380395
#if WINDOWS_UWP
381396
[Windows.Foundation.Metadata.DefaultOverload]
382397
public static AmountOfSubstance FromNanopoundMoles(double nanopoundmoles)
@@ -391,6 +406,7 @@ public static AmountOfSubstance FromNanopoundMoles(QuantityValue nanopoundmoles)
391406
/// <summary>
392407
/// Get AmountOfSubstance from PoundMoles.
393408
/// </summary>
409+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
394410
#if WINDOWS_UWP
395411
[Windows.Foundation.Metadata.DefaultOverload]
396412
public static AmountOfSubstance FromPoundMoles(double poundmoles)

Common/GeneratedCode/Quantities/AmplitudeRatio.Common.g.cs

+7-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
using System.Text.RegularExpressions;
4343
using System.Linq;
4444
using JetBrains.Annotations;
45+
using UnitsNet.InternalHelpers;
4546
using UnitsNet.Units;
4647

4748
// ReSharper disable once CheckNamespace
@@ -87,6 +88,7 @@ static AmplitudeRatio()
8788
/// <param name="numericValue">The numeric value to contruct this quantity with.</param>
8889
/// <param name="unit">The unit representation to contruct this quantity with.</param>
8990
/// <remarks>Value parameter cannot be named 'value' due to constraint when targeting Windows Runtime Component.</remarks>
91+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
9092
#if WINDOWS_UWP
9193
private
9294
#else
@@ -97,7 +99,7 @@ static AmplitudeRatio()
9799
if(unit == AmplitudeRatioUnit.Undefined)
98100
throw new ArgumentException("The quantity can not be created with an undefined unit.", nameof(unit));
99101

100-
_value = numericValue;
102+
_value = Guard.EnsureValidNumber(numericValue, nameof(numericValue));
101103
_unit = unit;
102104
}
103105

@@ -158,6 +160,7 @@ public static BaseDimensions BaseDimensions
158160
/// <summary>
159161
/// Get AmplitudeRatio from DecibelMicrovolts.
160162
/// </summary>
163+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
161164
#if WINDOWS_UWP
162165
[Windows.Foundation.Metadata.DefaultOverload]
163166
public static AmplitudeRatio FromDecibelMicrovolts(double decibelmicrovolts)
@@ -172,6 +175,7 @@ public static AmplitudeRatio FromDecibelMicrovolts(QuantityValue decibelmicrovol
172175
/// <summary>
173176
/// Get AmplitudeRatio from DecibelMillivolts.
174177
/// </summary>
178+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
175179
#if WINDOWS_UWP
176180
[Windows.Foundation.Metadata.DefaultOverload]
177181
public static AmplitudeRatio FromDecibelMillivolts(double decibelmillivolts)
@@ -186,6 +190,7 @@ public static AmplitudeRatio FromDecibelMillivolts(QuantityValue decibelmillivol
186190
/// <summary>
187191
/// Get AmplitudeRatio from DecibelsUnloaded.
188192
/// </summary>
193+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
189194
#if WINDOWS_UWP
190195
[Windows.Foundation.Metadata.DefaultOverload]
191196
public static AmplitudeRatio FromDecibelsUnloaded(double decibelsunloaded)
@@ -200,6 +205,7 @@ public static AmplitudeRatio FromDecibelsUnloaded(QuantityValue decibelsunloaded
200205
/// <summary>
201206
/// Get AmplitudeRatio from DecibelVolts.
202207
/// </summary>
208+
/// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
203209
#if WINDOWS_UWP
204210
[Windows.Foundation.Metadata.DefaultOverload]
205211
public static AmplitudeRatio FromDecibelVolts(double decibelvolts)

0 commit comments

Comments
 (0)