@@ -5961,6 +5961,9 @@ def test_generate_user_scenarios(self):
59615961 assert eval_dataset .eval_dataset_df is not None
59625962 assert len (eval_dataset .eval_dataset_df ) == 2
59635963 assert eval_dataset .eval_dataset_df .iloc [0 ]["starting_prompt" ] == "Prompt 1"
5964+ assert eval_dataset .eval_dataset_df .iloc [0 ]["conversation_plan" ] == "Plan 1"
5965+ assert eval_dataset .eval_dataset_df .iloc [1 ]["starting_prompt" ] == "Prompt 2"
5966+ assert eval_dataset .eval_dataset_df .iloc [1 ]["conversation_plan" ] == "Plan 2"
59645967
59655968 self .mock_api_client .request .assert_called_once ()
59665969
@@ -5984,10 +5987,87 @@ async def test_async_generate_user_scenarios(self):
59845987
59855988 assert eval_dataset .eval_dataset_df is not None
59865989 assert len (eval_dataset .eval_dataset_df ) == 2
5990+ assert eval_dataset .eval_dataset_df .iloc [0 ]["starting_prompt" ] == "Prompt 1"
5991+ assert eval_dataset .eval_dataset_df .iloc [0 ]["conversation_plan" ] == "Plan 1"
5992+ assert eval_dataset .eval_dataset_df .iloc [1 ]["starting_prompt" ] == "Prompt 2"
5993+ assert eval_dataset .eval_dataset_df .iloc [1 ]["conversation_plan" ] == "Plan 2"
59875994
59885995 self .mock_api_client .async_request .assert_called_once ()
59895996
59905997
5998+ class TestConvertRequestToDatasetRow :
5999+ """Unit tests for the _convert_request_to_dataset_row function."""
6000+
6001+ def test_convert_request_to_dataset_row_with_prompt_and_golden (self ):
6002+ request = vertexai_genai_types .EvaluationItemRequest (
6003+ prompt = vertexai_genai_types .EvaluationPrompt (text = "test prompt" ),
6004+ golden_response = vertexai_genai_types .CandidateResponse (
6005+ text = "golden response"
6006+ ),
6007+ )
6008+ result = _evals_common ._convert_request_to_dataset_row (request )
6009+ assert result ["prompt" ] == "test prompt"
6010+ assert result ["reference" ] == vertexai_genai_types .CandidateResponse (
6011+ text = "golden response"
6012+ )
6013+ assert result ["intermediate_events" ] == []
6014+ assert result ["agent_data" ] is None
6015+
6016+ def test_convert_request_to_dataset_row_with_user_scenario (self ):
6017+ request = vertexai_genai_types .EvaluationItemRequest (
6018+ prompt = vertexai_genai_types .EvaluationPrompt (
6019+ user_scenario = vertexai_genai_types .evals .UserScenario (
6020+ starting_prompt = "start prompt" , conversation_plan = "convo plan"
6021+ )
6022+ )
6023+ )
6024+ result = _evals_common ._convert_request_to_dataset_row (request )
6025+ assert result ["starting_prompt" ] == "start prompt"
6026+ assert result ["conversation_plan" ] == "convo plan"
6027+ assert result ["prompt" ] is None
6028+
6029+ def test_convert_request_to_dataset_row_with_candidate_events (self ):
6030+ request = vertexai_genai_types .EvaluationItemRequest (
6031+ candidate_responses = [
6032+ vertexai_genai_types .CandidateResponse (
6033+ candidate = "test-candidate" ,
6034+ text = "candidate text" ,
6035+ events = [
6036+ genai_types .Content (
6037+ parts = [genai_types .Part (text = "event part" )], role = "model"
6038+ )
6039+ ],
6040+ )
6041+ ]
6042+ )
6043+ result = _evals_common ._convert_request_to_dataset_row (request )
6044+ assert result ["test-candidate" ] == "candidate text"
6045+ assert result ["intermediate_events" ] == [
6046+ {
6047+ "event_id" : "test-candidate" ,
6048+ "content" : {
6049+ "parts" : [genai_types .Part (text = "event part" )],
6050+ "role" : "model" ,
6051+ },
6052+ }
6053+ ]
6054+ assert result ["agent_data" ] is None
6055+
6056+ def test_convert_request_to_dataset_row_with_agent_data (self ):
6057+ mock_agent_data = vertexai_genai_types .evals .AgentData (turns = [])
6058+ request = vertexai_genai_types .EvaluationItemRequest (
6059+ candidate_responses = [
6060+ vertexai_genai_types .CandidateResponse (
6061+ candidate = "test-candidate" , agent_data = mock_agent_data
6062+ )
6063+ ]
6064+ )
6065+ result = _evals_common ._convert_request_to_dataset_row (request )
6066+ assert result ["test-candidate" ] is None
6067+ assert result ["agent_data" ] == mock_agent_data
6068+ assert result ["intermediate_events" ] == []
6069+
6070+
59916071class TestCreateEvaluationSetFromDataFrame :
59926072 """Unit tests for the _create_evaluation_set_from_dataframe function."""
59936073
0 commit comments