Compare commits

...
2 Commits
Author SHA1 Message Date
Rory Hinnen 241a753879 fix tests 2026-09-08 16:38:09 -05:00
Rory HinnenandClaude Sonnet 4.6 178123c944 fix project file paths and add DieHammerEngine local package dependency
Corrects group path from Bunch-O--Dice to DieHammer after directory rename,
fixes DEVELOPMENT_ASSET_PATHS, adds .gitignore to exclude build artifacts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-09-08 15:27:46 -05:00
6 changed files with 195 additions and 20 deletions
+10
View File
@@ -0,0 +1,10 @@
# Swift Package Manager
.build/
.swiftpm/
# Xcode user data
xcuserdata/
*.xcuserstate
# macOS
.DS_Store
+36
View File
@@ -0,0 +1,36 @@
{
"configurations" : [
{
"id" : "3E4A1B2C-5D6E-7F8A-9B0C-1D2E3F4A5B6C",
"name" : "Test Scheme Action",
"options" : {
}
}
],
"defaultOptions" : {
},
"testTargets" : [
{
"target" : {
"containerPath" : "container:DieHammer.xcodeproj",
"identifier" : "981AD0C927C30E32005A6492",
"name" : "Bunch O' DiceTests"
}
},
{
"target" : {
"containerPath" : "container:DieHammer.xcodeproj",
"identifier" : "981AD0D327C30E32005A6492",
"name" : "Bunch O' DiceUITests"
},
"uiTargetApp" : {
"containerPath" : "container:DieHammer.xcodeproj",
"identifier" : "981AD0B927C30E31005A6492",
"name" : "DieHammer"
}
}
],
"version" : 1
}
+48 -17
View File
@@ -3,11 +3,12 @@
archiveVersion = 1; archiveVersion = 1;
classes = { classes = {
}; };
objectVersion = 55; objectVersion = 60;
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
7692E8432BD55CDF005BDD76 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 7692E8422BD55CDE005BDD76 /* PrivacyInfo.xcprivacy */; }; 7692E8432BD55CDF005BDD76 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 7692E8422BD55CDE005BDD76 /* PrivacyInfo.xcprivacy */; };
76AB19823050A4B500BF7B9D /* DieHammerEngine in Frameworks */ = {isa = PBXBuildFile; productRef = 76AB19813050A4B500BF7B9D /* DieHammerEngine */; };
980EF454285E2BAD002FE8A0 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 980EF453285E2BAD002FE8A0 /* MainView.swift */; }; 980EF454285E2BAD002FE8A0 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 980EF453285E2BAD002FE8A0 /* MainView.swift */; };
981AD0BE27C30E31005A6492 /* DieHammerApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 981AD0BD27C30E31005A6492 /* DieHammerApp.swift */; }; 981AD0BE27C30E31005A6492 /* DieHammerApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 981AD0BD27C30E31005A6492 /* DieHammerApp.swift */; };
981AD0C027C30E31005A6492 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 981AD0BF27C30E31005A6492 /* ContentView.swift */; }; 981AD0C027C30E31005A6492 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 981AD0BF27C30E31005A6492 /* ContentView.swift */; };
@@ -62,7 +63,7 @@
98225DE02A3527160019DE8E /* dice.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = dice.swift; sourceTree = "<group>"; }; 98225DE02A3527160019DE8E /* dice.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = dice.swift; sourceTree = "<group>"; };
98325A2D2839BE4B0006DF4B /* RollState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RollState.swift; sourceTree = "<group>"; }; 98325A2D2839BE4B0006DF4B /* RollState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RollState.swift; sourceTree = "<group>"; };
98745CA52870CC670031166A /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; }; 98745CA52870CC670031166A /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
988997FF285814AB00B07E09 /* Bunch-O--Dice-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Bunch-O--Dice-Info.plist"; sourceTree = SOURCE_ROOT; }; 988997FF285814AB00B07E09 /* DieHammer.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = DieHammer.plist; sourceTree = SOURCE_ROOT; };
988B150E2854E9160082C2C5 /* HistoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryView.swift; sourceTree = "<group>"; }; 988B150E2854E9160082C2C5 /* HistoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryView.swift; sourceTree = "<group>"; };
988B1516285565610082C2C5 /* Onboarding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Onboarding.swift; sourceTree = "<group>"; }; 988B1516285565610082C2C5 /* Onboarding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Onboarding.swift; sourceTree = "<group>"; };
988B1518285566AD0082C2C5 /* OnboardingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingView.swift; sourceTree = "<group>"; }; 988B1518285566AD0082C2C5 /* OnboardingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingView.swift; sourceTree = "<group>"; };
@@ -75,6 +76,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
76AB19823050A4B500BF7B9D /* DieHammerEngine in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -95,6 +97,13 @@
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
76AB19803050A4B500BF7B9D /* Frameworks */ = {
isa = PBXGroup;
children = (
);
name = Frameworks;
sourceTree = "<group>";
};
981AD0B127C30E31005A6492 = { 981AD0B127C30E31005A6492 = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@@ -102,6 +111,7 @@
981AD0BC27C30E31005A6492 /* Bunch-O--Dice */, 981AD0BC27C30E31005A6492 /* Bunch-O--Dice */,
981AD0CD27C30E32005A6492 /* Bunch O' DiceTests */, 981AD0CD27C30E32005A6492 /* Bunch O' DiceTests */,
981AD0D727C30E32005A6492 /* Bunch O' DiceUITests */, 981AD0D727C30E32005A6492 /* Bunch O' DiceUITests */,
76AB19803050A4B500BF7B9D /* Frameworks */,
981AD0BB27C30E31005A6492 /* Products */, 981AD0BB27C30E31005A6492 /* Products */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
@@ -120,7 +130,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
7692E8422BD55CDE005BDD76 /* PrivacyInfo.xcprivacy */, 7692E8422BD55CDE005BDD76 /* PrivacyInfo.xcprivacy */,
988997FF285814AB00B07E09 /* Bunch-O--Dice-Info.plist */, 988997FF285814AB00B07E09 /* DieHammer.plist */,
981AD0BD27C30E31005A6492 /* DieHammerApp.swift */, 981AD0BD27C30E31005A6492 /* DieHammerApp.swift */,
981AD0BF27C30E31005A6492 /* ContentView.swift */, 981AD0BF27C30E31005A6492 /* ContentView.swift */,
988B1518285566AD0082C2C5 /* OnboardingView.swift */, 988B1518285566AD0082C2C5 /* OnboardingView.swift */,
@@ -131,7 +141,8 @@
981AD0C127C30E32005A6492 /* Assets.xcassets */, 981AD0C127C30E32005A6492 /* Assets.xcassets */,
981AD0C327C30E32005A6492 /* Preview Content */, 981AD0C327C30E32005A6492 /* Preview Content */,
); );
path = "Bunch-O--Dice"; name = "Bunch-O--Dice";
path = DieHammer;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
981AD0C327C30E32005A6492 /* Preview Content */ = { 981AD0C327C30E32005A6492 /* Preview Content */ = {
@@ -147,7 +158,8 @@
children = ( children = (
981AD0CE27C30E32005A6492 /* Bunch_O__DiceTests.swift */, 981AD0CE27C30E32005A6492 /* Bunch_O__DiceTests.swift */,
); );
path = "Bunch O' DiceTests"; name = "Bunch O' DiceTests";
path = DieHammerTests;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
981AD0D727C30E32005A6492 /* Bunch O' DiceUITests */ = { 981AD0D727C30E32005A6492 /* Bunch O' DiceUITests */ = {
@@ -156,7 +168,8 @@
981AD0D827C30E32005A6492 /* Bunch_O__DiceUITests.swift */, 981AD0D827C30E32005A6492 /* Bunch_O__DiceUITests.swift */,
981AD0DA27C30E32005A6492 /* Bunch_O__DiceUITestsLaunchTests.swift */, 981AD0DA27C30E32005A6492 /* Bunch_O__DiceUITestsLaunchTests.swift */,
); );
path = "Bunch O' DiceUITests"; name = "Bunch O' DiceUITests";
path = DieHammerUITests;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
981AD0E727C311DA005A6492 /* Model */ = { 981AD0E727C311DA005A6492 /* Model */ = {
@@ -199,9 +212,9 @@
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
981AD0B927C30E31005A6492 /* Bunch O' Dice */ = { 981AD0B927C30E31005A6492 /* DieHammer */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 981AD0DE27C30E32005A6492 /* Build configuration list for PBXNativeTarget "Bunch O' Dice" */; buildConfigurationList = 981AD0DE27C30E32005A6492 /* Build configuration list for PBXNativeTarget "DieHammer" */;
buildPhases = ( buildPhases = (
981AD0B627C30E31005A6492 /* Sources */, 981AD0B627C30E31005A6492 /* Sources */,
981AD0B727C30E31005A6492 /* Frameworks */, 981AD0B727C30E31005A6492 /* Frameworks */,
@@ -211,7 +224,7 @@
); );
dependencies = ( dependencies = (
); );
name = "Bunch O' Dice"; name = DieHammer;
productName = "Bunch O' Dice"; productName = "Bunch O' Dice";
productReference = 981AD0BA27C30E31005A6492 /* Bunch O' Dice.app */; productReference = 981AD0BA27C30E31005A6492 /* Bunch O' Dice.app */;
productType = "com.apple.product-type.application"; productType = "com.apple.product-type.application";
@@ -284,11 +297,14 @@
Base, Base,
); );
mainGroup = 981AD0B127C30E31005A6492; mainGroup = 981AD0B127C30E31005A6492;
packageReferences = (
7665121E305077AF0002A498 /* XCLocalSwiftPackageReference "DieHammerEngine" */,
);
productRefGroup = 981AD0BB27C30E31005A6492 /* Products */; productRefGroup = 981AD0BB27C30E31005A6492 /* Products */;
projectDirPath = ""; projectDirPath = "";
projectRoot = ""; projectRoot = "";
targets = ( targets = (
981AD0B927C30E31005A6492 /* Bunch O' Dice */, 981AD0B927C30E31005A6492 /* DieHammer */,
981AD0C927C30E32005A6492 /* Bunch O' DiceTests */, 981AD0C927C30E32005A6492 /* Bunch O' DiceTests */,
981AD0D327C30E32005A6492 /* Bunch O' DiceUITests */, 981AD0D327C30E32005A6492 /* Bunch O' DiceUITests */,
); );
@@ -364,12 +380,12 @@
/* Begin PBXTargetDependency section */ /* Begin PBXTargetDependency section */
981AD0CC27C30E32005A6492 /* PBXTargetDependency */ = { 981AD0CC27C30E32005A6492 /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
target = 981AD0B927C30E31005A6492 /* Bunch O' Dice */; target = 981AD0B927C30E31005A6492 /* DieHammer */;
targetProxy = 981AD0CB27C30E32005A6492 /* PBXContainerItemProxy */; targetProxy = 981AD0CB27C30E32005A6492 /* PBXContainerItemProxy */;
}; };
981AD0D627C30E32005A6492 /* PBXTargetDependency */ = { 981AD0D627C30E32005A6492 /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
target = 981AD0B927C30E31005A6492 /* Bunch O' Dice */; target = 981AD0B927C30E31005A6492 /* DieHammer */;
targetProxy = 981AD0D527C30E32005A6492 /* PBXContainerItemProxy */; targetProxy = 981AD0D527C30E32005A6492 /* PBXContainerItemProxy */;
}; };
/* End PBXTargetDependency section */ /* End PBXTargetDependency section */
@@ -506,10 +522,9 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"Bunch-O--Dice/Preview Content\""; DEVELOPMENT_ASSET_PATHS = "\"DieHammer/Preview Content\"";
ENABLE_PREVIEWS = YES; ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "Bunch-O--Dice-Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = DieHammer; INFOPLIST_KEY_CFBundleDisplayName = DieHammer;
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
@@ -524,6 +539,7 @@
); );
MARKETING_VERSION = 1.2; MARKETING_VERSION = 1.2;
PRODUCT_BUNDLE_IDENTIFIER = "com.chartreusenecktie.Bunch-O--Dice"; PRODUCT_BUNDLE_IDENTIFIER = "com.chartreusenecktie.Bunch-O--Dice";
PRODUCT_MODULE_NAME = DieHammer;
PRODUCT_NAME = "Bunch O' Dice"; PRODUCT_NAME = "Bunch O' Dice";
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
@@ -538,10 +554,9 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"Bunch-O--Dice/Preview Content\""; DEVELOPMENT_ASSET_PATHS = "\"DieHammer/Preview Content\"";
ENABLE_PREVIEWS = YES; ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "Bunch-O--Dice-Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = DieHammer; INFOPLIST_KEY_CFBundleDisplayName = DieHammer;
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
@@ -556,6 +571,7 @@
); );
MARKETING_VERSION = 1.2; MARKETING_VERSION = 1.2;
PRODUCT_BUNDLE_IDENTIFIER = "com.chartreusenecktie.Bunch-O--Dice"; PRODUCT_BUNDLE_IDENTIFIER = "com.chartreusenecktie.Bunch-O--Dice";
PRODUCT_MODULE_NAME = DieHammer;
PRODUCT_NAME = "Bunch O' Dice"; PRODUCT_NAME = "Bunch O' Dice";
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
@@ -645,7 +661,7 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
981AD0DE27C30E32005A6492 /* Build configuration list for PBXNativeTarget "Bunch O' Dice" */ = { 981AD0DE27C30E32005A6492 /* Build configuration list for PBXNativeTarget "DieHammer" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
981AD0DF27C30E32005A6492 /* Debug */, 981AD0DF27C30E32005A6492 /* Debug */,
@@ -673,6 +689,21 @@
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
/* End XCConfigurationList section */ /* End XCConfigurationList section */
/* Begin XCLocalSwiftPackageReference section */
7665121E305077AF0002A498 /* XCLocalSwiftPackageReference "DieHammerEngine" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = DieHammerEngine;
};
/* End XCLocalSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
76AB19813050A4B500BF7B9D /* DieHammerEngine */ = {
isa = XCSwiftPackageProductDependency;
package = 7665121E305077AF0002A498 /* XCLocalSwiftPackageReference "DieHammerEngine" */;
productName = DieHammerEngine;
};
/* End XCSwiftPackageProductDependency section */
}; };
rootObject = 981AD0B227C30E31005A6492 /* Project object */; rootObject = 981AD0B227C30E31005A6492 /* Project object */;
} }
@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "2700"
version = "1.8">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "981AD0B927C30E31005A6492"
BuildableName = "Bunch O&apos; Dice.app"
BlueprintName = "DieHammer"
ReferencedContainer = "container:DieHammer.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = ""
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "NO">
<TestPlans>
<TestPlanReference
reference = "container:Bunch O' Dice.xctestplan"
default = "YES">
</TestPlanReference>
</TestPlans>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES"
queueDebuggingEnabled = "No">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "981AD0B927C30E31005A6492"
BuildableName = "Bunch O&apos; Dice.app"
BlueprintName = "DieHammer"
ReferencedContainer = "container:DieHammer.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "981AD0B927C30E31005A6492"
BuildableName = "Bunch O&apos; Dice.app"
BlueprintName = "DieHammer"
ReferencedContainer = "container:DieHammer.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
@@ -9,6 +9,19 @@
<key>orderHint</key> <key>orderHint</key>
<integer>0</integer> <integer>0</integer>
</dict> </dict>
<key>Bunch O' DiceUITests.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>981AD0D327C30E32005A6492</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict> </dict>
</dict> </dict>
</plist> </plist>
+3 -3
View File
@@ -203,8 +203,8 @@ struct RerollTests {
var d = Dice() var d = Dice()
d.one = 2; d.two = 2; d.three = 2; d.six = 4 d.one = 2; d.two = 2; d.three = 2; d.six = 4
d.rerollBelow(cutoff: 4) d.rerollBelow(cutoff: 4)
// The 4 sixes were not in the reroll range and should be unchanged // Sixes were not in the reroll range; rerolled dice may also produce sixes
#expect(d.six == 4) #expect(d.six >= 4)
} }
@Test("applyReroll: none mode leaves hasRerolled false") @Test("applyReroll: none mode leaves hasRerolled false")
@@ -266,7 +266,7 @@ struct RerollTests {
let total = roll.dice.one + roll.dice.two + roll.dice.three + let total = roll.dice.one + roll.dice.two + roll.dice.three +
roll.dice.four + roll.dice.five + roll.dice.six roll.dice.four + roll.dice.five + roll.dice.six
#expect(total == 5) #expect(total == 5)
#expect(roll.dice.six == 2) // dice above cutoff are untouched #expect(roll.dice.six >= 2) // dice above cutoff are untouched; rerolls may also produce sixes
} }
@Test("resetPool: clears hitHasRerolled flag") @Test("resetPool: clears hitHasRerolled flag")