Skip to content

Commit ff16a72

Browse files
authored
Add Angstroms Length-Converter option (#2229)
* Add Length_Angstrom as a new unit constant Adds Angstrom as a length unit to the list of unit constants in UnitConverterDataConstants.h file. * Add Angstrom unit to Length units in UnitConverterDataLoader.cpp Adds the Angstrom unit of length to the list of length units in UnitConverterDataLoader.cpp and its conversion data is added to the GetConversionData() function. It is assigned the value of 15. * Add Angstrom as a Unit of Length Adds new data entries to Resources.resw for unit abbreviation of Angstrom, and the unit name for Angstrom. * Add conversion data "Meters-Angstroms" in Test.resw Adds new data entry for "Meters-Angstroms" to Test.resw file * Changes order of units of Length to add Angstroms This commit changes the order of the units of length so that Angstrom is before Nanometers. Increments orders of all other units by 1 and sets order of Angstroms to 1. * Fixes 'TestStandardUnitConverterAndDateViewModels' test case failing This commit fixes the "TestStandardUnitConverterAndDateViewModels" failing by introducing a new resource entry to the Test.resw file. These changes needed to be made because adding the new unit changed the order of units, hence the test case expected a different value, since it was converting other units.
1 parent 88c22ca commit ff16a72

File tree

4 files changed

+33
-18
lines changed

4 files changed

+33
-18
lines changed

src/CalcViewModel/DataLoaders/UnitConverterDataConstants.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,9 @@ namespace CalculatorApp
165165
Data_Zetabytes = UnitStart + 164,
166166
Area_Pyeong = UnitStart + 165,
167167
Energy_Kilowatthour = UnitStart + 166,
168-
Data_Nibble = UnitStart + 167,
169-
UnitEnd = Data_Nibble
168+
Data_Nibble = UnitStart + 167,
169+
Length_Angstrom = UnitStart + 168,
170+
UnitEnd = Length_Angstrom
170171
};
171172
}
172173
}

src/CalcViewModel/DataLoaders/UnitConverterDataLoader.cpp

+17-14
Original file line numberDiff line numberDiff line change
@@ -400,53 +400,55 @@ void UnitConverterDataLoader::GetUnits(_In_ unordered_map<ViewMode, vector<Order
400400
unitMap.emplace(ViewMode::Energy, energyUnits);
401401

402402
vector<OrderedUnit> lengthUnits;
403+
lengthUnits.push_back(OrderedUnit{
404+
UnitConverterUnits::Length_Angstrom, GetLocalizedStringName(L"UnitName_Angstrom"), GetLocalizedStringName(L"UnitAbbreviation_Angstrom"), 1 });
403405
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Centimeter,
404406
GetLocalizedStringName(L"UnitName_Centimeter"),
405407
GetLocalizedStringName(L"UnitAbbreviation_Centimeter"),
406-
4,
408+
5,
407409
useUSCustomary,
408410
useSI,
409411
false });
410412
lengthUnits.push_back(
411-
OrderedUnit{ UnitConverterUnits::Length_Foot, GetLocalizedStringName(L"UnitName_Foot"), GetLocalizedStringName(L"UnitAbbreviation_Foot"), 8 });
413+
OrderedUnit{ UnitConverterUnits::Length_Foot, GetLocalizedStringName(L"UnitName_Foot"), GetLocalizedStringName(L"UnitAbbreviation_Foot"), 9 });
412414
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Inch,
413415
GetLocalizedStringName(L"UnitName_Inch"),
414416
GetLocalizedStringName(L"UnitAbbreviation_Inch"),
415-
7,
417+
8,
416418
useSI,
417419
useUSCustomary,
418420
false });
419421
lengthUnits.push_back(OrderedUnit{
420-
UnitConverterUnits::Length_Kilometer, GetLocalizedStringName(L"UnitName_Kilometer"), GetLocalizedStringName(L"UnitAbbreviation_Kilometer"), 6 });
422+
UnitConverterUnits::Length_Kilometer, GetLocalizedStringName(L"UnitName_Kilometer"), GetLocalizedStringName(L"UnitAbbreviation_Kilometer"), 7 });
421423
lengthUnits.push_back(
422-
OrderedUnit{ UnitConverterUnits::Length_Meter, GetLocalizedStringName(L"UnitName_Meter"), GetLocalizedStringName(L"UnitAbbreviation_Meter"), 5 });
424+
OrderedUnit{ UnitConverterUnits::Length_Meter, GetLocalizedStringName(L"UnitName_Meter"), GetLocalizedStringName(L"UnitAbbreviation_Meter"), 6 });
423425
lengthUnits.push_back(
424-
OrderedUnit{ UnitConverterUnits::Length_Micron, GetLocalizedStringName(L"UnitName_Micron"), GetLocalizedStringName(L"UnitAbbreviation_Micron"), 2 });
426+
OrderedUnit{ UnitConverterUnits::Length_Micron, GetLocalizedStringName(L"UnitName_Micron"), GetLocalizedStringName(L"UnitAbbreviation_Micron"), 3 });
425427
lengthUnits.push_back(
426-
OrderedUnit{ UnitConverterUnits::Length_Mile, GetLocalizedStringName(L"UnitName_Mile"), GetLocalizedStringName(L"UnitAbbreviation_Mile"), 10 });
428+
OrderedUnit{ UnitConverterUnits::Length_Mile, GetLocalizedStringName(L"UnitName_Mile"), GetLocalizedStringName(L"UnitAbbreviation_Mile"), 11 });
427429
lengthUnits.push_back(OrderedUnit{
428-
UnitConverterUnits::Length_Millimeter, GetLocalizedStringName(L"UnitName_Millimeter"), GetLocalizedStringName(L"UnitAbbreviation_Millimeter"), 3 });
430+
UnitConverterUnits::Length_Millimeter, GetLocalizedStringName(L"UnitName_Millimeter"), GetLocalizedStringName(L"UnitAbbreviation_Millimeter"), 4 });
429431
lengthUnits.push_back(OrderedUnit{
430-
UnitConverterUnits::Length_Nanometer, GetLocalizedStringName(L"UnitName_Nanometer"), GetLocalizedStringName(L"UnitAbbreviation_Nanometer"), 1 });
432+
UnitConverterUnits::Length_Nanometer, GetLocalizedStringName(L"UnitName_Nanometer"), GetLocalizedStringName(L"UnitAbbreviation_Nanometer"), 2 });
431433
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_NauticalMile,
432434
GetLocalizedStringName(L"UnitName_NauticalMile"),
433435
GetLocalizedStringName(L"UnitAbbreviation_NauticalMile"),
434-
11 });
436+
12 });
435437
lengthUnits.push_back(
436-
OrderedUnit{ UnitConverterUnits::Length_Yard, GetLocalizedStringName(L"UnitName_Yard"), GetLocalizedStringName(L"UnitAbbreviation_Yard"), 9 });
438+
OrderedUnit{ UnitConverterUnits::Length_Yard, GetLocalizedStringName(L"UnitName_Yard"), GetLocalizedStringName(L"UnitAbbreviation_Yard"), 10 });
437439
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Paperclip,
438440
GetLocalizedStringName(L"UnitName_Paperclip"),
439441
GetLocalizedStringName(L"UnitAbbreviation_Paperclip"),
440-
12,
442+
13,
441443
false,
442444
false,
443445
true });
444446
lengthUnits.push_back(OrderedUnit{
445-
UnitConverterUnits::Length_Hand, GetLocalizedStringName(L"UnitName_Hand"), GetLocalizedStringName(L"UnitAbbreviation_Hand"), 13, false, false, true });
447+
UnitConverterUnits::Length_Hand, GetLocalizedStringName(L"UnitName_Hand"), GetLocalizedStringName(L"UnitAbbreviation_Hand"), 14, false, false, true });
446448
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_JumboJet,
447449
GetLocalizedStringName(L"UnitName_JumboJet"),
448450
GetLocalizedStringName(L"UnitAbbreviation_JumboJet"),
449-
14,
451+
15,
450452
false,
451453
false,
452454
true });
@@ -855,6 +857,7 @@ void UnitConverterDataLoader::GetConversionData(_In_ unordered_map<ViewMode, uno
855857
{ ViewMode::Length, UnitConverterUnits::Length_Micron, 0.000001 },
856858
{ ViewMode::Length, UnitConverterUnits::Length_Millimeter, 0.001 },
857859
{ ViewMode::Length, UnitConverterUnits::Length_Nanometer, 0.000000001 },
860+
{ ViewMode::Length, UnitConverterUnits::Length_Angstrom, 0.0000000001 },
858861
{ ViewMode::Length, UnitConverterUnits::Length_Centimeter, 0.01 },
859862
{ ViewMode::Length, UnitConverterUnits::Length_Meter, 1 },
860863
{ ViewMode::Length, UnitConverterUnits::Length_Kilometer, 1000 },

src/Calculator/Resources/en-US/Resources.resw

+8
Original file line numberDiff line numberDiff line change
@@ -1665,6 +1665,10 @@
16651665
<value>cup (US)</value>
16661666
<comment>An abbreviation for a measurement unit of volume</comment>
16671667
</data>
1668+
<data name="UnitAbbreviation_Angstrom" xml:space="preserve">
1669+
<value>A</value>
1670+
<comment>An abbreviation for a measurement unit of length</comment>
1671+
</data>
16681672
<data name="UnitAbbreviation_Acre" xml:space="preserve">
16691673
<value>ac</value>
16701674
<comment>An abbreviation for a measurement unit of volume</comment>
@@ -2241,6 +2245,10 @@
22412245
<value>Nanometers</value>
22422246
<comment>A measurement unit for length. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999)</comment>
22432247
</data>
2248+
<data name="UnitName_Angstrom" xml:space="preserve">
2249+
<value>Angstroms</value>
2250+
<comment>A measurement unit for length. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999)</comment>
2251+
</data>
22442252
<data name="UnitName_NauticalMile" xml:space="preserve">
22452253
<value>Nautical miles</value>
22462254
<comment>A measurement unit for length. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999)</comment>

src/CalculatorUnitTests/Test.resw

+5-2
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,9 @@
324324
<data name="Meters-Nanometers">
325325
<value>0.000000001</value>
326326
</data>
327+
<data name="Meters-Angstroms">
328+
<value>0.0000000001</value>
329+
</data>
327330
<data name="Meters-Centimeters">
328331
<value>0.01</value>
329332
</data>
@@ -588,8 +591,8 @@
588591
<data name="Milliliters-Milliliters" xml:space="preserve">
589592
<value>1</value>
590593
</data>
591-
<data name="Nanometers-Microns-3" xml:space="preserve">
592-
<value>0.003</value>
594+
<data name="Angstroms-Nanometers-3" xml:space="preserve">
595+
<value>0.3</value>
593596
</data>
594597
<data name="Joules-Kilowatthour" xml:space="preserve">
595598
<value>3600000</value>

0 commit comments

Comments
 (0)