Coverage for tests/data.py: 100%
15 statements
« prev ^ index » next coverage.py v7.11.3, created at 2025-11-16 21:43 +0000
« prev ^ index » next coverage.py v7.11.3, created at 2025-11-16 21:43 +0000
1from math import sqrt as sr
2from pathlib import Path
4import numpy as np
6TEST_MESH_PATH = str(Path(__file__).parent.resolve() / "teddy.obj")
8TEST_GRAPH_ADJACENCY = np.array(
9 [
10 [0, 1, 0, 0, 0, 0, 0],
11 [1, 0, 1, 1, 1, 0, 0],
12 [0, 1, 0, 0, 0, 1, 0],
13 [0, 1, 0, 0, 1, 0, 0],
14 [0, 1, 0, 1, 0, 0, 0],
15 [0, 0, 1, 0, 0, 0, 0],
16 [0, 0, 0, 0, 0, 0, 0],
17 ]
18).astype(np.float64)
21TEST_GRAPH_LAPLACIAN = np.array(
22 [
23 [1, -1, 0, 0, 0, 0, 0],
24 [-1, 4, -1, -1, -1, 0, 0],
25 [0, -1, 2, 0, 0, -1, 0],
26 [0, -1, 0, 2, -1, 0, 0],
27 [0, -1, 0, -1, 2, 0, 0],
28 [0, 0, -1, 0, 0, 1, 0],
29 [0, 0, 0, 0, 0, 0, 0],
30 ]
31).astype(
32 np.float64
33) # corresponds to TEST_GRAPH_ADJACENCY, unnormalized Laplacian
35TEST_GRAPH_LAPLACIAN_NORMALIZED = np.array(
36 [
37 [1, -0.5, 0, 0, 0, 0, 0], # noqa: E241
38 [-0.5, 1, -1 / sr(2) / 2, -1 / sr(2) / 2, -1 / sr(2) / 2, 0, 0], # noqa: E241
39 [0, -1 / sr(2) / 2, 1, 0, 0, -1 / sr(2), 0], # noqa: E241
40 [0, -1 / sr(2) / 2, 0, 1, -0.5, 0, 0], # noqa: E241
41 [0, -1 / sr(2) / 2, 0, -0.5, 1, 0, 0], # noqa: E241
42 [0, 0, -1 / sr(2), 0, 0, 1, 0], # noqa: E241
43 [0, 0, 0, 0, 0, 0, 0], # noqa: E241
44 ]
45).astype(
46 np.float64
47) # corresponds to TEST_GRAPH_ADJACENCY, normalized Laplacian
49TEST_GRAPH_EDGES_NUM_NODES = 5
51TEST_GRAPH_EDGES_ADJACENCY = np.array(
52 [
53 [0, 1, 1, 0, 1],
54 [1, 0, 1, 1, 0],
55 [1, 1, 0, 1, 0],
56 [0, 1, 1, 0, 1],
57 [1, 0, 0, 1, 0],
58 ]
59).astype(np.int32)
61TEST_GRAPH_EDGES_UP_LAPLACIAN = np.array(
62 [
63 [1, -1, 0, 1, 0, 0, 0],
64 [-1, 1, 0, -1, 0, 0, 0],
65 [0, 0, 0, 0, 0, 0, 0],
66 [1, -1, 0, 1, 0, 0, 0],
67 [0, 0, 0, 0, 0, 0, 0],
68 [0, 0, 0, 0, 0, 0, 0],
69 [0, 0, 0, 0, 0, 0, 0],
70 ]
71).astype(np.float64)
73TEST_GRAPH_EDGES_DOWN_LAPLACIAN = np.array(
74 [
75 [2, 1, 1, -1, -1, 0, 0],
76 [1, 2, 1, 1, 0, -1, 0],
77 [1, 1, 2, 0, 0, 0, 1],
78 [-1, 1, 0, 2, 1, -1, 0],
79 [-1, 0, 0, 1, 2, 1, -1],
80 [0, -1, 0, -1, 1, 2, -1],
81 [0, 0, 1, 0, -1, -1, 2],
82 ]
83).astype(np.float64)
85TEST_GRAPH_EDGES_ORIENTED_EDGES = np.array(
86 [
87 [0, 1],
88 [0, 2],
89 [0, 4],
90 [1, 2],
91 [1, 3],
92 [2, 3],
93 [3, 4],
94 ]
95).astype(np.int32)
97TEST_GRAPH_EDGES_TRIANGLES = [(0, 1, 2)]
99TEST_GRAPH_EDGES_ORIENTED_TRIANGLES = np.array(
100 [
101 [1, 4, -2],
102 ]
103).astype(np.int32)
105TEST_GRAPH_EDGES_ORIENTED_TRIANGLES_AUTO = np.array(
106 [
107 [1, 4, -2],
108 [4, 6, -5],
109 ]
110).astype(np.int32)