1
+ // Copyright(c) 2007 Andreas Gullberg Larsen
2
+ // https://github.com/anjdreas/UnitsNet
3
+ //
4
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ // of this software and associated documentation files (the "Software"), to deal
6
+ // in the Software without restriction, including without limitation the rights
7
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ // copies of the Software, and to permit persons to whom the Software is
9
+ // furnished to do so, subject to the following conditions:
10
+ //
11
+ // The above copyright notice and this permission notice shall be included in
12
+ // all copies or substantial portions of the Software.
13
+ //
14
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ // THE SOFTWARE.
21
+
22
+ using System ;
23
+ using NUnit . Framework ;
24
+ using UnitsNet . Units ;
25
+
26
+ namespace UnitsNet . Tests . CustomCode
27
+ {
28
+ public class NullableConstructors
29
+ {
30
+ [ Test ]
31
+ public void StaticConstructorWithNullReturnsNullWhenBackingTypeIsDouble ( )
32
+ {
33
+ Length ? meter = Length . FromMeters ( null ) ;
34
+ Assert . IsFalse ( meter . HasValue ) ;
35
+ }
36
+
37
+ [ Test ]
38
+ public void StaticConstructorWithNullAndEnumReturnsNullWhenBackingTypeIsDouble ( )
39
+ {
40
+ Length ? meter = Length . From ( null , LengthUnit . Meter ) ;
41
+ Assert . IsFalse ( meter . HasValue ) ;
42
+ }
43
+
44
+ [ Test ]
45
+ public void StaticConstructorWithNullAndEnumArgumentReturnsValueWhenInputArgumentHasValueWhenBackingTypeIsDouble ( )
46
+ {
47
+ double ? value = 1.0 ;
48
+ Length ? meter = Length . From ( value , LengthUnit . Meter ) ;
49
+ Assert . IsTrue ( meter . HasValue ) ;
50
+ }
51
+
52
+ [ Test ]
53
+ public void StaticConstructorWithNullArgumentReturnsValueWhenInputArgumentHasValueWhenBackingTypeIsDouble ( )
54
+ {
55
+ double ? value = 1.0 ;
56
+ Length ? meter = Length . FromMeters ( value ) ;
57
+ Assert . IsTrue ( meter . HasValue ) ;
58
+ }
59
+
60
+ [ Test ]
61
+ public void StaticConstructorWithNullReturnsNullWhenBackingTypeIsDecimal ( )
62
+ {
63
+ Information ? meter = Information . FromBytes ( null ) ;
64
+ Assert . IsFalse ( meter . HasValue ) ;
65
+ }
66
+
67
+ [ Test ]
68
+ public void StaticConstructorWithNullAndEnumReturnsNullWhenBackingTypeIsDecimal ( )
69
+ {
70
+ Information ? meter = Information . From ( null , InformationUnit . Byte ) ;
71
+ Assert . IsFalse ( meter . HasValue ) ;
72
+ }
73
+
74
+ [ Test ]
75
+ public void StaticConstructorWithNullAndEnumArgumentReturnsValueWhenInputArgumentHasValueWhenBackingTypeIsDecimal ( )
76
+ {
77
+ double ? value = 1.0 ;
78
+ Information ? meter = Information . From ( value , InformationUnit . Byte ) ;
79
+ Assert . IsTrue ( meter . HasValue ) ;
80
+ }
81
+
82
+ [ Test ]
83
+ public void StaticConstructorWithNullArgumentReturnsValueWhenInputArgumentHasValueWhenBackingTypeIsDecimal ( )
84
+ {
85
+ double ? value = 1.0 ;
86
+ Information ? meter = Information . FromBytes ( value ) ;
87
+ Assert . IsTrue ( meter . HasValue ) ;
88
+ }
89
+ }
90
+ }
0 commit comments