summaryrefslogtreecommitdiff
path: root/build-aux/measurestack/test_analyze.py
blob: ff1732da4b6b669a5bfefccfda68933fab5bee9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# build-aux/measurestack/test_analyze.py - Tests for analyze.py
#
# Copyright (C) 2025  Luke T. Shumaker <lukeshu@lukeshu.com>
# SPDX-License-Identifier: AGPL-3.0-or-later

# pylint: disable=unused-variable

import pytest

from .analyze import BaseName, QName


def test_name_base() -> None:
    assert QName("foo.c:bar.1").base() == BaseName("bar")


def test_name_pretty() -> None:
    name = QName("foo.c:bar.1")
    assert f"{name}" == "QName('foo.c:bar.1')"
    assert f"{name.base()}" == "BaseName('bar')"
    assert f"{[name]}" == "[QName('foo.c:bar.1')]"
    assert f"{[name.base()]}" == "[BaseName('bar')]"


def test_name_eq() -> None:
    name = QName("foo.c:bar.1")
    with pytest.raises(AssertionError) as e:
        if name == "foo":
            pass
    assert "comparing QName with str" in str(e)
    with pytest.raises(AssertionError) as e:
        if name.base() == "foo":
            pass
    assert "comparing BaseName with str" in str(e)