Coverage for tests/data.py: 100%

15 statements  

« 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 

3 

4import numpy as np 

5 

6TEST_MESH_PATH = str(Path(__file__).parent.resolve() / "teddy.obj") 

7 

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) 

19 

20 

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 

34 

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 

48 

49TEST_GRAPH_EDGES_NUM_NODES = 5 

50 

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) 

60 

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) 

72 

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) 

84 

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) 

96 

97TEST_GRAPH_EDGES_TRIANGLES = [(0, 1, 2)] 

98 

99TEST_GRAPH_EDGES_ORIENTED_TRIANGLES = np.array( 

100 [ 

101 [1, 4, -2], 

102 ] 

103).astype(np.int32) 

104 

105TEST_GRAPH_EDGES_ORIENTED_TRIANGLES_AUTO = np.array( 

106 [ 

107 [1, 4, -2], 

108 [4, 6, -5], 

109 ] 

110).astype(np.int32)