@@ -90,6 +90,16 @@ def test_claude_sonnet_4_6_resolves(self):
9090 self .assertEqual (cfg .input_price_usd , Decimal ("0.000003" ))
9191 self .assertEqual (cfg .output_price_usd , Decimal ("0.000015" ))
9292
93+ def test_claude_sonnet_5_5_resolves (self ):
94+ cfg = get_model_config ("claude-sonnet-5-5" )
95+ self .assertEqual (cfg .provider , "anthropic" )
96+ self .assertEqual (cfg .api_name , "claude-sonnet-5-5" )
97+ self .assertEqual (cfg .input_price_usd , Decimal ("0.000002" ))
98+ self .assertEqual (cfg .output_price_usd , Decimal ("0.00001" ))
99+ # Non-default temperature/top_p/top_k return HTTP 400
100+ self .assertFalse (cfg .supports_temperature )
101+ self .assertEqual (cfg , get_model_config ("claude-sonnet-5.5" ))
102+
93103 def test_claude_sonnet_5_resolves (self ):
94104 cfg = get_model_config ("claude-sonnet-5" )
95105 self .assertEqual (cfg .provider , "anthropic" )
@@ -833,6 +843,13 @@ def test_claude_opus_5_cost(self):
833843 # Same price tier as opus-4-5/4-6/4-7/4-8: 1000*0.000005 + 500*0.000025 = 0.0175 USD
834844 self .assertEqual (cost , 17_500_000_000_000_000 )
835845
846+ def test_claude_sonnet_5_5_cost (self ):
847+ cost = self ._calc ("claude-sonnet-5-5" , 1000 , 500 )
848+ expected = _expected_cost_opg ("claude-sonnet-5-5" , 1000 , 500 )
849+ self .assertEqual (cost , expected )
850+ # 1000*0.000002 + 500*0.00001 = 0.002 + 0.005 = 0.007 USD = 7e15 wei
851+ self .assertEqual (cost , 7_000_000_000_000_000 )
852+
836853 def test_claude_opus_5_5_cost (self ):
837854 cost = self ._calc ("claude-opus-5-5" , 1000 , 500 )
838855 expected = _expected_cost_opg ("claude-opus-5-5" , 1000 , 500 )
0 commit comments