mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
a1b0a28f9c
* prepare eval package * add gaia benchmark to eval package * update telemetry * renaming * organization * organize into namespace packages; rename to labs * update cookie cutter instruction * update gaia runner * use temp directory * Rename "labs" --> "lab" * update * update gaia sample * update status * Add lighting project * Add listing for lighting
38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
# Copyright (c) Microsoft. All rights reserved.
|
|
|
|
"""Tests for GAIA benchmark implementation."""
|
|
|
|
import pytest
|
|
from agent_framework_lab_gaia import gaia_scorer
|
|
|
|
|
|
class TestGAIAScorer:
|
|
"""Test the GAIA scoring function."""
|
|
|
|
def test_numeric_exact_match(self):
|
|
"""Test numeric exact matching."""
|
|
assert gaia_scorer("42", "42") is True
|
|
assert gaia_scorer("42.0", "42") is True
|
|
assert gaia_scorer("42", "42.0") is True
|
|
assert gaia_scorer("42", "43") is False
|
|
|
|
def test_string_normalization(self):
|
|
"""Test string normalization and matching."""
|
|
assert gaia_scorer("Hello World", "hello world") is True
|
|
assert gaia_scorer("Hello, World!", "helloworld") is True
|
|
assert gaia_scorer("test", "TEST") is True
|
|
assert gaia_scorer("test", "different") is False
|
|
|
|
def test_list_matching(self):
|
|
"""Test list matching with comma/semicolon separation."""
|
|
assert gaia_scorer("1,2,3", "1,2,3") is True
|
|
assert gaia_scorer("1; 2; 3", "1,2,3") is True
|
|
assert gaia_scorer("apple,banana", "apple,banana") is True
|
|
assert gaia_scorer("1,2,3", "1,2,4") is False
|
|
assert gaia_scorer("1,2", "1,2,3") is False
|
|
|
|
def test_none_handling(self):
|
|
"""Test handling of None values."""
|
|
assert gaia_scorer("None", "test") is False
|
|
assert gaia_scorer("", "test") is False
|