4
4
using System ;
5
5
using System . Diagnostics . CodeAnalysis ;
6
6
using System . Linq ;
7
+ using UnitsNet . Tests . CustomQuantities ;
7
8
using UnitsNet . Units ;
8
9
using Xunit ;
9
10
@@ -23,9 +24,62 @@ public void Constructor_AssignsProperties()
23
24
var expectedQuantityType = QuantityType . Length ;
24
25
var expectedBaseDimensions = Length . BaseDimensions ;
25
26
26
- var info = new QuantityInfo ( expectedQuantityType , expectedUnitInfos ,
27
+ var info = new QuantityInfo ( nameof ( Length ) , typeof ( LengthUnit ) , expectedUnitInfos ,
28
+ expectedBaseUnit , expectedZero , expectedBaseDimensions , QuantityType . Length ) ;
29
+
30
+ Assert . Equal ( expectedZero , info . Zero ) ;
31
+ Assert . Equal ( "Length" , info . Name ) ;
32
+ Assert . Equal ( expectedUnitInfos , info . UnitInfos ) ;
33
+ Assert . Equal ( expectedQuantityType , info . QuantityType ) ;
34
+ Assert . Equal ( expectedBaseDimensions , info . BaseDimensions ) ;
35
+
36
+ // Obsolete members
37
+ Assert . Equal ( expectedBaseUnit , info . BaseUnit ) ;
38
+ Assert . Equal ( new [ ] { "Centimeter" , "Kilometer" } , info . UnitNames ) ;
39
+ }
40
+
41
+ [ Fact ]
42
+ public void Constructor_AssignsPropertiesForCustomQuantity ( )
43
+ {
44
+ var expectedZero = new HowMuch ( 10 , HowMuchUnit . Some ) ;
45
+ var expectedUnitInfos = new UnitInfo [ ]
46
+ {
47
+ new UnitInfo ( HowMuchUnit . Some , BaseUnits . Undefined ) ,
48
+ new UnitInfo ( HowMuchUnit . ATon , BaseUnits . Undefined ) ,
49
+ new UnitInfo ( HowMuchUnit . AShitTon , BaseUnits . Undefined )
50
+ } ;
51
+ var expectedBaseUnit = HowMuchUnit . Some ;
52
+ var expectedQuantityType = QuantityType . Undefined ;
53
+ var expectedBaseDimensions = BaseDimensions . Dimensionless ;
54
+
55
+ var info = new QuantityInfo ( nameof ( HowMuch ) , typeof ( HowMuchUnit ) , expectedUnitInfos ,
27
56
expectedBaseUnit , expectedZero , expectedBaseDimensions ) ;
28
57
58
+ Assert . Equal ( expectedZero , info . Zero ) ;
59
+ Assert . Equal ( nameof ( HowMuch ) , info . Name ) ;
60
+ Assert . Equal ( expectedUnitInfos , info . UnitInfos ) ;
61
+ Assert . Equal ( expectedQuantityType , info . QuantityType ) ;
62
+ Assert . Equal ( expectedBaseDimensions , info . BaseDimensions ) ;
63
+
64
+ // Obsolete members
65
+ Assert . Equal ( expectedBaseUnit , info . BaseUnit ) ;
66
+ Assert . Equal ( new [ ] { nameof ( HowMuchUnit . Some ) , nameof ( HowMuchUnit . ATon ) , nameof ( HowMuchUnit . AShitTon ) } , info . UnitNames ) ;
67
+ }
68
+
69
+ [ Fact ]
70
+ public void ObsoleteConstructor_AssignsProperties ( )
71
+ {
72
+ var expectedZero = Length . FromCentimeters ( 10 ) ;
73
+ var expectedUnitInfos = new UnitInfo [ ] {
74
+ new UnitInfo ( LengthUnit . Centimeter , new BaseUnits ( LengthUnit . Centimeter ) ) ,
75
+ new UnitInfo ( LengthUnit . Kilometer , new BaseUnits ( LengthUnit . Kilometer ) )
76
+ } ;
77
+ var expectedBaseUnit = LengthUnit . Centimeter ;
78
+ var expectedQuantityType = QuantityType . Length ;
79
+ var expectedBaseDimensions = Length . BaseDimensions ;
80
+
81
+ var info = new QuantityInfo ( QuantityType . Length , expectedUnitInfos , expectedBaseUnit , expectedZero , expectedBaseDimensions ) ;
82
+
29
83
Assert . Equal ( expectedZero , info . Zero ) ;
30
84
Assert . Equal ( "Length" , info . Name ) ;
31
85
Assert . Equal ( expectedUnitInfos , info . UnitInfos ) ;
@@ -37,6 +91,7 @@ public void Constructor_AssignsProperties()
37
91
Assert . Equal ( new [ ] { "Centimeter" , "Kilometer" } , info . UnitNames ) ;
38
92
}
39
93
94
+
40
95
[ Fact ]
41
96
public void GenericsConstructor_AssignsProperties ( )
42
97
{
@@ -49,8 +104,8 @@ public void GenericsConstructor_AssignsProperties()
49
104
var expectedQuantityType = QuantityType . Length ;
50
105
var expectedBaseDimensions = Length . BaseDimensions ;
51
106
52
- var info = new QuantityInfo < LengthUnit > ( expectedQuantityType , expectedUnitInfos ,
53
- expectedBaseUnit , expectedZero , expectedBaseDimensions ) ;
107
+ var info = new QuantityInfo < LengthUnit > ( nameof ( Length ) , expectedUnitInfos ,
108
+ expectedBaseUnit , expectedZero , expectedBaseDimensions , expectedQuantityType ) ;
54
109
Assert . Equal ( expectedZero , info . Zero ) ;
55
110
Assert . Equal ( "Length" , info . Name ) ;
56
111
Assert . Equal ( expectedUnitInfos , info . UnitInfos ) ;
@@ -66,62 +121,62 @@ public void GenericsConstructor_AssignsProperties()
66
121
[ SuppressMessage ( "ReSharper" , "AssignNullToNotNullAttribute" ) ]
67
122
public void Constructor_GivenNullAsUnitInfos_ThrowsArgumentNullException ( )
68
123
{
69
- Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( QuantityType . Length ,
70
- null , Length . BaseUnit , Length . Zero , Length . BaseDimensions ) ) ;
124
+ Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( nameof ( Length ) , typeof ( LengthUnit ) ,
125
+ null , Length . BaseUnit , Length . Zero , Length . BaseDimensions , QuantityType . Length ) ) ;
71
126
}
72
127
73
128
[ Fact ]
74
129
[ SuppressMessage ( "ReSharper" , "AssignNullToNotNullAttribute" ) ]
75
130
public void GenericsConstructor_GivenNullAsUnitInfos_ThrowsArgumentNullException ( )
76
131
{
77
- Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo < LengthUnit > ( QuantityType . Length ,
78
- null , Length . BaseUnit , Length . Zero , Length . BaseDimensions ) ) ;
132
+ Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo < LengthUnit > ( nameof ( Length ) ,
133
+ null , Length . BaseUnit , Length . Zero , Length . BaseDimensions , QuantityType . Length ) ) ;
79
134
}
80
135
81
136
[ Fact ]
82
137
[ SuppressMessage ( "ReSharper" , "AssignNullToNotNullAttribute" ) ]
83
138
public void Constructor_GivenNullAsBaseUnit_ThrowsArgumentNullException ( )
84
139
{
85
- Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( QuantityType . Length ,
86
- Length . Info . UnitInfos , null , Length . Zero , Length . BaseDimensions ) ) ;
140
+ Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( nameof ( Length ) , typeof ( LengthUnit ) ,
141
+ Length . Info . UnitInfos , null , Length . Zero , Length . BaseDimensions , QuantityType . Length ) ) ;
87
142
}
88
143
89
144
[ Fact ]
90
145
[ SuppressMessage ( "ReSharper" , "AssignNullToNotNullAttribute" ) ]
91
146
public void Constructor_GivenNullAsZero_ThrowsArgumentNullException ( )
92
147
{
93
- Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( QuantityType . Length ,
94
- Length . Info . UnitInfos , Length . BaseUnit , null , Length . BaseDimensions ) ) ;
148
+ Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( nameof ( Length ) , typeof ( LengthUnit ) ,
149
+ Length . Info . UnitInfos , Length . BaseUnit , null , Length . BaseDimensions , QuantityType . Length ) ) ;
95
150
}
96
151
97
152
[ Fact ]
98
153
[ SuppressMessage ( "ReSharper" , "AssignNullToNotNullAttribute" ) ]
99
154
public void GenericsConstructor_GivenNullAsZero_ThrowsArgumentNullException ( )
100
155
{
101
- Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo < LengthUnit > ( QuantityType . Length ,
102
- Length . Info . UnitInfos , Length . BaseUnit , null , Length . BaseDimensions ) ) ;
156
+ Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo < LengthUnit > ( nameof ( Length ) ,
157
+ Length . Info . UnitInfos , Length . BaseUnit , null , Length . BaseDimensions , QuantityType . Length ) ) ;
103
158
}
104
159
105
160
[ Fact ]
106
161
[ SuppressMessage ( "ReSharper" , "AssignNullToNotNullAttribute" ) ]
107
162
public void Constructor_GivenNullAsBaseDimensions_ThrowsArgumentNullException ( )
108
163
{
109
- Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( QuantityType . Length ,
110
- Length . Info . UnitInfos , Length . BaseUnit , Length . Zero , null ) ) ;
164
+ Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( nameof ( Length ) , typeof ( LengthUnit ) ,
165
+ Length . Info . UnitInfos , Length . BaseUnit , Length . Zero , null , QuantityType . Length ) ) ;
111
166
}
112
167
113
168
[ Fact ]
114
169
[ SuppressMessage ( "ReSharper" , "AssignNullToNotNullAttribute" ) ]
115
170
public void GenericsConstructor_GivenNullAsBaseDimensions_ThrowsArgumentNullException ( )
116
171
{
117
- Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo < LengthUnit > ( QuantityType . Length ,
118
- Length . Info . UnitInfos , Length . BaseUnit , Length . Zero , null ) ) ;
172
+ Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo < LengthUnit > ( nameof ( Length ) ,
173
+ Length . Info . UnitInfos , Length . BaseUnit , Length . Zero , null , QuantityType . Length ) ) ;
119
174
}
120
175
[ Fact ]
121
176
[ SuppressMessage ( "ReSharper" , "AssignNullToNotNullAttribute" ) ]
122
177
public void Constructor2_GivenNullAsUnitInfos_ThrowsArgumentNullException ( )
123
178
{
124
- Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( Length . Info . Name ,
179
+ Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( Length . Info . Name , typeof ( LengthUnit ) ,
125
180
null , Length . BaseUnit , Length . Zero , Length . BaseDimensions ) ) ;
126
181
}
127
182
@@ -137,15 +192,15 @@ public void GenericsConstructor2_GivenNullAsUnitInfos_ThrowsArgumentNullExceptio
137
192
[ SuppressMessage ( "ReSharper" , "AssignNullToNotNullAttribute" ) ]
138
193
public void Constructor2_GivenNullAsBaseUnit_ThrowsArgumentNullException ( )
139
194
{
140
- Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( Length . Info . Name ,
195
+ Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( Length . Info . Name , typeof ( LengthUnit ) ,
141
196
Length . Info . UnitInfos , null , Length . Zero , Length . BaseDimensions ) ) ;
142
197
}
143
198
144
199
[ Fact ]
145
200
[ SuppressMessage ( "ReSharper" , "AssignNullToNotNullAttribute" ) ]
146
201
public void Constructor2_GivenNullAsZero_ThrowsArgumentNullException ( )
147
202
{
148
- Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( Length . Info . Name ,
203
+ Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( Length . Info . Name , typeof ( LengthUnit ) ,
149
204
Length . Info . UnitInfos , Length . BaseUnit , null , Length . BaseDimensions ) ) ;
150
205
}
151
206
@@ -161,7 +216,7 @@ public void GenericsConstructor2_GivenNullAsZero_ThrowsArgumentNullException()
161
216
[ SuppressMessage ( "ReSharper" , "AssignNullToNotNullAttribute" ) ]
162
217
public void Constructor2_GivenNullAsBaseDimensions_ThrowsArgumentNullException ( )
163
218
{
164
- Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( Length . Info . Name ,
219
+ Assert . Throws < ArgumentNullException > ( ( ) => new QuantityInfo ( Length . Info . Name , typeof ( LengthUnit ) ,
165
220
Length . Info . UnitInfos , Length . BaseUnit , Length . Zero , null ) ) ;
166
221
}
167
222
0 commit comments