Skip to content

Commit a6718e5

Browse files
committed
Add unit tests for NumberFormatter+Localized
1 parent 10a3b3d commit a6718e5

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

WooCommerce/WooCommerce.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1294,6 +1294,7 @@
12941294
DE67D46726B98FD000EFE8DB /* Publisher+WithLatestFrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE67D46626B98FD000EFE8DB /* Publisher+WithLatestFrom.swift */; };
12951295
DE67D46926BAA82600EFE8DB /* Publisher+WithLatestFromTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE67D46826BAA82600EFE8DB /* Publisher+WithLatestFromTests.swift */; };
12961296
DE7842ED26F061650030C792 /* NumberFormatter+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7842EC26F061650030C792 /* NumberFormatter+Localized.swift */; };
1297+
DE7842EF26F079A60030C792 /* NumberFormatter+LocalizedTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7842EE26F079A60030C792 /* NumberFormatter+LocalizedTests.swift */; };
12971298
DE8C94662646990000C94823 /* PluginListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE8C94652646990000C94823 /* PluginListViewController.swift */; };
12981299
DE8C946E264699B600C94823 /* PluginListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE8C946D264699B600C94823 /* PluginListViewModel.swift */; };
12991300
DEC2961F26BD1605005A056B /* ShippingLabelCustomsFormListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEC2961E26BD1605005A056B /* ShippingLabelCustomsFormListViewModel.swift */; };
@@ -2726,6 +2727,7 @@
27262727
DE67D46626B98FD000EFE8DB /* Publisher+WithLatestFrom.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Publisher+WithLatestFrom.swift"; sourceTree = "<group>"; };
27272728
DE67D46826BAA82600EFE8DB /* Publisher+WithLatestFromTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Publisher+WithLatestFromTests.swift"; sourceTree = "<group>"; };
27282729
DE7842EC26F061650030C792 /* NumberFormatter+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NumberFormatter+Localized.swift"; sourceTree = "<group>"; };
2730+
DE7842EE26F079A60030C792 /* NumberFormatter+LocalizedTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NumberFormatter+LocalizedTests.swift"; sourceTree = "<group>"; };
27292731
DE8C94652646990000C94823 /* PluginListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginListViewController.swift; sourceTree = "<group>"; };
27302732
DE8C946D264699B600C94823 /* PluginListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginListViewModel.swift; sourceTree = "<group>"; };
27312733
DEC2961E26BD1605005A056B /* ShippingLabelCustomsFormListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShippingLabelCustomsFormListViewModel.swift; sourceTree = "<group>"; };
@@ -5232,6 +5234,7 @@
52325234
025C00CB2551524300FAC222 /* BarcodeScannerFrameScalerTests.swift */,
52335235
D88100D2257DD060008DE6F2 /* WordPressComSiteInfoWooTests.swift */,
52345236
DE67D46826BAA82600EFE8DB /* Publisher+WithLatestFromTests.swift */,
5237+
DE7842EE26F079A60030C792 /* NumberFormatter+LocalizedTests.swift */,
52355238
);
52365239
path = Extensions;
52375240
sourceTree = "<group>";
@@ -7952,6 +7955,7 @@
79527955
4574745F24EA9ADE00CF49BC /* ProductTypeBottomSheetListSelectorCommandTests.swift in Sources */,
79537956
AEE2611126E6785400B142A0 /* EditAddressFormViewModelTests.swift in Sources */,
79547957
0212683724C049F000F8A892 /* ProductListMultiSelectorDataSourceTests.swift in Sources */,
7958+
DE7842EF26F079A60030C792 /* NumberFormatter+LocalizedTests.swift in Sources */,
79557959
5768315126694ADC00FDFB6C /* AuthenticationManagerTests.swift in Sources */,
79567960
D82DFB4C225F303200EFE2CB /* EmptyListMessageWithActionTests.swift in Sources */,
79577961
E10DFC78267331590083AFF2 /* ApplicationLogViewModelTests.swift in Sources */,
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import XCTest
2+
@testable import WooCommerce
3+
4+
class NumberFormatter_LocalizedTests: XCTestCase {
5+
6+
func test_double_from_string_returns_correctly_depending_on_locale() {
7+
// Given
8+
let usLocale = Locale(identifier: "en_US")
9+
let itLocale = Locale(identifier: "it_IT")
10+
11+
// When
12+
let valueWithPeriod = "1.2"
13+
14+
// Then
15+
XCTAssertEqual(NumberFormatter.double(from: valueWithPeriod, locale: usLocale), Double(1.2))
16+
XCTAssertNil(NumberFormatter.double(from: valueWithPeriod, locale: itLocale))
17+
18+
// When
19+
let valueWithComma = "1,2"
20+
21+
// Then
22+
XCTAssertNil(NumberFormatter.double(from: valueWithComma, locale: usLocale))
23+
XCTAssertEqual(NumberFormatter.double(from: valueWithComma, locale: itLocale), Double(1.2))
24+
}
25+
26+
func test_string_from_number_returns_correctly_depending_on_locale() {
27+
// Given
28+
let usLocale = Locale(identifier: "en_US")
29+
let itLocale = Locale(identifier: "it_IT")
30+
let value: Double = 1.2
31+
let number = NSNumber(value: value)
32+
33+
// Then
34+
XCTAssertEqual(NumberFormatter.localizedString(from: number, locale: usLocale), "1.2")
35+
XCTAssertEqual(NumberFormatter.localizedString(from: number, locale: itLocale), "1,2")
36+
}
37+
}

0 commit comments

Comments
 (0)