File: test_paths.py

package info (click to toggle)
python-nexusformat 1.0.6-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 516 kB
  • sloc: python: 5,791; makefile: 5; sh: 1
file content (43 lines) | stat: -rw-r--r-- 1,224 bytes parent folder | download
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
35
36
37
38
39
40
41
42
43
from nexusformat.nexus.tree import NXentry, NXgroup, NXroot


def test_attribute_paths(field1):

    root = NXroot(NXentry())
    root.entry.g1 = NXgroup(field1)

    assert root.entry.g1.nxpath == "/entry/g1"
    assert root["entry/g1"] is root.entry.g1
    assert root["entry/g1/f1"] is root.entry.g1.f1
    assert "g1" in root.entry
    assert "f1" in root.entry.g1
    assert "entry/g1/f1" in root
    assert root.entry.g1.f1.nxroot is root


def test_dictionary_paths(field1):

    root = NXroot(NXentry())
    root["entry/g1"] = NXgroup(field1)

    assert root.entry.g1.nxpath == "/entry/g1"
    assert root["entry/g1"] is root.entry.g1
    assert root["entry/g1/f1"] is root.entry.g1.f1
    assert "g1" in root["/entry"]
    assert "f1" in root["/entry/g1"]
    assert "/entry/g1/f1" in root
    assert root["/entry/g1/f1"].nxroot is root


def test_relative_paths(field1):

    root = NXroot(NXentry())
    root["entry/g1"] = NXgroup()
    root["entry/g1/g2"] = NXgroup()
    root["entry/g1/g2/f1"] = field1

    assert "f1" in root["entry/g1/g2"]
    assert "g2/f1" in root["entry/g1"]
    assert "g1/g2/f1" in root["entry"]
    assert root["entry/g1/g2/f1"].nxpath == "/entry/g1/g2/f1"
    assert "entry" in root