@@ -180,6 +180,27 @@ func TestWithToolsets(t *testing.T) {
180180 }
181181}
182182
183+ func TestWithToolsets_DefaultAndCustomOrderIsDeterministic (t * testing.T ) {
184+ tools := []ServerTool {
185+ mockToolWithDefault ("tool-alpha" , "alpha" , true , true ),
186+ mockToolWithDefault ("tool-beta" , "beta" , true , true ),
187+ mockToolWithDefault ("tool-gamma" , "gamma" , true , false ),
188+ }
189+
190+ reg := mustBuild (t , NewBuilder ().
191+ SetTools (tools ).
192+ WithToolsets ([]string {"gamma" , "default" , "gamma" }))
193+
194+ enabledIDs := reg .EnabledToolsetIDs ()
195+ require .Equal (t , []ToolsetID {"alpha" , "beta" , "gamma" }, enabledIDs )
196+
197+ available := reg .AvailableTools (context .Background ())
198+ require .Len (t , available , 3 )
199+ require .Equal (t , "tool-alpha" , available [0 ].Tool .Name )
200+ require .Equal (t , "tool-beta" , available [1 ].Tool .Name )
201+ require .Equal (t , "tool-gamma" , available [2 ].Tool .Name )
202+ }
203+
183204func TestWithToolsetsTrimsWhitespace (t * testing.T ) {
184205 tools := []ServerTool {
185206 mockTool ("tool1" , "toolset1" , true ),
0 commit comments