Files
honeyDueKMP/iosApp/HoneyDueTests/ThemeIDTests.swift
Trey t 1e2adf7660 Rebrand from Casera/MyCrib to honeyDue
Total rebrand across KMM project:
- Kotlin package: com.example.casera -> com.tt.honeyDue (dirs + declarations)
- Gradle: rootProject.name, namespace, applicationId
- Android: manifest, strings.xml (all languages), widget resources
- iOS: pbxproj bundle IDs, Info.plist, entitlements, xcconfig
- iOS directories: Casera/ -> HoneyDue/, CaseraTests/ -> HoneyDueTests/, etc.
- Swift source: all class/struct/enum renames
- Deep links: casera:// -> honeydue://, .casera -> .honeydue
- App icons replaced with honeyDue honeycomb icon
- Domains: casera.treytartt.com -> honeyDue.treytartt.com
- Bundle IDs: com.tt.casera -> com.tt.honeyDue
- Database table names preserved

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 06:33:57 -06:00

51 lines
1.3 KiB
Swift

//
// ThemeIDTests.swift
// honeyDueTests
//
// Unit tests for ThemeID enum properties and round-tripping.
//
import Testing
@testable import honeyDue
// MARK: - ThemeID Enum Tests
struct ThemeIDTests {
@Test func allCasesCountIsEleven() {
#expect(ThemeID.allCases.count == 11)
}
@Test func allDisplayNamesAreNonEmpty() {
for theme in ThemeID.allCases {
#expect(!theme.displayName.isEmpty, "ThemeID.\(theme) has empty displayName")
}
}
@Test func allDescriptionsAreNonEmpty() {
for theme in ThemeID.allCases {
#expect(!theme.description.isEmpty, "ThemeID.\(theme) has empty description")
}
}
@Test func rawValueRoundTripsForAllCases() {
for theme in ThemeID.allCases {
let roundTripped = ThemeID(rawValue: theme.rawValue)
#expect(roundTripped == theme, "ThemeID.\(theme) failed rawValue round-trip")
}
}
@Test func allRawValuesAreUnique() {
let rawValues = ThemeID.allCases.map(\.rawValue)
#expect(Set(rawValues).count == rawValues.count)
}
@Test func brightDisplayNameIsDefault() {
#expect(ThemeID.bright.displayName == "Default")
}
@Test func oceanRawValueIsOcean() {
#expect(ThemeID.ocean.rawValue == "Ocean")
}
}