Coverage for tests/test_identifier.py: 100%
40 statements
« prev ^ index » next coverage.py v7.3.2, created at 2023-11-23 18:07 +0000
« prev ^ index » next coverage.py v7.3.2, created at 2023-11-23 18:07 +0000
1# pylint: disable=W0621,C0116,C0114
2import pytest
3from castep_linter.fortran.identifier import Identifier
6def test_identifier_equals():
7 assert Identifier("x") == Identifier("x")
8 assert Identifier("X") == Identifier("x")
9 assert Identifier("x") == Identifier("X")
10 assert Identifier("X") == Identifier("X")
13def test_identifier_not_equals():
14 assert Identifier("x") != Identifier("y")
15 assert Identifier("X") != Identifier("y")
16 assert Identifier("x") != Identifier("Y")
17 assert Identifier("X") != Identifier("Y")
20def test_string_equals():
21 assert Identifier("x") == "x"
22 assert Identifier("X") == "x"
23 assert Identifier("x") == "X"
24 assert Identifier("X") == "X"
27def test_string_not_equals():
28 assert Identifier("x") != "y"
29 assert Identifier("X") != "y"
30 assert Identifier("x") != "Y"
31 assert Identifier("X") != "Y"
33def test_identifier_hash_eq():
34 assert hash(Identifier("x")) == hash(Identifier("x"))
35 assert hash(Identifier("X")) == hash(Identifier("x"))
36 assert hash(Identifier("x")) == hash(Identifier("X"))
37 assert hash(Identifier("X")) == hash(Identifier("X"))
39def test_identifier_hash_not_equals():
40 assert hash(Identifier("x")) != hash(Identifier("y"))
41 assert hash(Identifier("X")) != hash(Identifier("y"))
42 assert hash(Identifier("x")) != hash(Identifier("Y"))
43 assert hash(Identifier("X")) != hash(Identifier("Y"))
46def test_identifier_compare_none():
47 assert Identifier("x") != None
48 assert Identifier("X") != None
49 assert None != Identifier("x")
50 assert None != Identifier("X")
52def test_identifier_compare_object():
53 with pytest.raises(TypeError):
54 assert Identifier("x") != object()