Skip to content

Commit 42aa0a1

Browse files
author
Ernesto Carrión
committed
Adds view model creation performance tests
1 parent 95d0a3e commit 42aa0a1

File tree

3 files changed

+73
-0
lines changed

3 files changed

+73
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>classNames</key>
6+
<dict>
7+
<key>ProductCategoryViewModelBuilderTests</key>
8+
<dict>
9+
<key>testViewModelGenerationTimeWithFromBigSetOfCategories()</key>
10+
<dict>
11+
<key>com.apple.XCTPerformanceMetric_WallClockTime</key>
12+
<dict>
13+
<key>baselineAverage</key>
14+
<real>0.0793</real>
15+
<key>baselineIntegrationDisplayName</key>
16+
<string>Local Baseline</string>
17+
</dict>
18+
</dict>
19+
</dict>
20+
</dict>
21+
</dict>
22+
</plist>
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>runDestinationsByUUID</key>
6+
<dict>
7+
<key>1106C823-AE63-4DFC-B3B6-09B6413DA78A</key>
8+
<dict>
9+
<key>localComputer</key>
10+
<dict>
11+
<key>busSpeedInMHz</key>
12+
<integer>100</integer>
13+
<key>cpuCount</key>
14+
<integer>1</integer>
15+
<key>cpuKind</key>
16+
<string>Dual-Core Intel Core i7</string>
17+
<key>cpuSpeedInMHz</key>
18+
<integer>3500</integer>
19+
<key>logicalCPUCoresPerPackage</key>
20+
<integer>4</integer>
21+
<key>modelCode</key>
22+
<string>MacBookPro14,2</string>
23+
<key>physicalCPUCoresPerPackage</key>
24+
<integer>2</integer>
25+
<key>platformIdentifier</key>
26+
<string>com.apple.platform.macosx</string>
27+
</dict>
28+
<key>targetArchitecture</key>
29+
<string>x86_64</string>
30+
<key>targetDevice</key>
31+
<dict>
32+
<key>modelCode</key>
33+
<string>iPhone12,1</string>
34+
<key>platformIdentifier</key>
35+
<string>com.apple.platform.iphonesimulator</string>
36+
</dict>
37+
</dict>
38+
</dict>
39+
</dict>
40+
</plist>

WooCommerce/WooCommerceTests/ViewRelated/Products/Edit Product/Categories/ProductCategoryViewModelBuilderTests.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,17 @@ final class ProductCategoryViewModelBuilderTests: XCTestCase {
108108
let selectedViewModelsNames = viewModels.filter { $0.isSelected }.map { $0.name }
109109
XCTAssertEqual(selectedCategoryNames, selectedViewModelsNames)
110110
}
111+
112+
func testViewModelGenerationTimeWithFromBigSetOfCategories() {
113+
let rootCategories = sampleCategories(initialID: 1, count: 1000)
114+
let subCategories1 = sampleCategories(initialID: 1001, parentID: 5, count: 500)
115+
let subCategories2 = sampleCategories(initialID: 1601, parentID: 13, count: 300)
116+
let selectedCategories = sampleCategories(initialID: 1100, parentID: 5, count: 100)
117+
let allCategories = rootCategories + subCategories1 + subCategories2
118+
measure {
119+
_ = ProductCategoryListViewModel.CellViewModelBuilder.viewModels(from: allCategories, selectedCategories: selectedCategories)
120+
}
121+
}
111122
}
112123

113124
// MARK: Helpers

0 commit comments

Comments
 (0)