1
1
import unittest
2
2
3
3
from mnt .pyfiction import (
4
+ charge_distribution_surface_100 ,
5
+ charge_distribution_surface_111 ,
6
+ generate_multiple_random_sidb_layouts ,
4
7
generate_random_sidb_layout ,
5
8
generate_random_sidb_layout_params ,
6
9
sidb_100_lattice ,
7
10
sidb_111_lattice ,
11
+ sidb_layout ,
8
12
)
9
13
10
14
@@ -13,30 +17,67 @@ def test_area_with_one_sidb_100_lattice(self):
13
17
params = generate_random_sidb_layout_params ()
14
18
params .number_of_sidbs = 1
15
19
params .coordinate_pair = ((10 , 10 ), (10 , 10 ))
16
- result_lyt = generate_random_sidb_layout (sidb_100_lattice (), params )
20
+ result_lyt = generate_random_sidb_layout (params , sidb_100_lattice ())
17
21
self .assertEqual (result_lyt .num_cells (), 1 )
18
22
cell = (result_lyt .cells ())[0 ]
19
23
self .assertEqual (cell .x , 10 )
20
24
self .assertEqual (cell .y , 10 )
21
25
26
+ def test_area_with_five_sidb_layout (self ):
27
+ params = generate_random_sidb_layout_params ()
28
+ params .number_of_sidbs = 5
29
+ print (params .number_of_sidbs )
30
+ params .coordinate_pair = ((0 , 0 ), (10 , 10 ))
31
+ result_lyt = generate_random_sidb_layout (params , sidb_layout ())
32
+ self .assertEqual (result_lyt .num_cells (), 5 )
33
+
22
34
def test_area_with_five_sidb_100_lattice (self ):
23
35
params = generate_random_sidb_layout_params ()
24
36
params .number_of_sidbs = 5
25
37
print (params .number_of_sidbs )
26
38
params .coordinate_pair = ((0 , 0 ), (10 , 10 ))
27
- result_lyt = generate_random_sidb_layout (sidb_100_lattice (), params )
39
+ result_lyt = generate_random_sidb_layout (params , sidb_100_lattice ())
40
+ self .assertEqual (result_lyt .num_cells (), 5 )
41
+
42
+ def test_area_with_five_sidbs_cds_100 (self ):
43
+ params = generate_random_sidb_layout_params ()
44
+ params .number_of_sidbs = 5
45
+ print (params .number_of_sidbs )
46
+ params .coordinate_pair = ((0 , 0 ), (10 , 10 ))
47
+ result_lyt = generate_random_sidb_layout (params , charge_distribution_surface_100 ())
48
+ self .assertEqual (result_lyt .num_cells (), 5 )
49
+
50
+ def test_area_with_five_sidbs_cds_111 (self ):
51
+ params = generate_random_sidb_layout_params ()
52
+ params .number_of_sidbs = 5
53
+ print (params .number_of_sidbs )
54
+ params .coordinate_pair = ((0 , 0 ), (10 , 10 ))
55
+ result_lyt = generate_random_sidb_layout (params , charge_distribution_surface_111 ())
28
56
self .assertEqual (result_lyt .num_cells (), 5 )
29
57
30
58
def test_area_with_one_coordinate_111_lattice (self ):
31
59
params = generate_random_sidb_layout_params ()
32
60
params .number_of_sidbs = 1
33
61
params .coordinate_pair = ((10 , 10 ), (10 , 10 ))
34
- result_lyt = generate_random_sidb_layout (sidb_111_lattice (), params )
62
+ result_lyt = generate_random_sidb_layout (params , sidb_111_lattice ())
35
63
self .assertEqual (result_lyt .num_cells (), 1 )
36
64
cell = (result_lyt .cells ())[0 ]
37
65
self .assertEqual (cell .x , 10 )
38
66
self .assertEqual (cell .y , 10 )
39
67
68
+ def test_impossible_design_of_single_layout (self ):
69
+ params = generate_random_sidb_layout_params ()
70
+ params .number_of_sidbs = 2
71
+ result_lyt = generate_random_sidb_layout (params , sidb_layout ())
72
+ self .assertIsNone (result_lyt )
73
+
74
+ def test_impossible_design_of_mutiple_layouts (self ):
75
+ params = generate_random_sidb_layout_params ()
76
+ params .maximal_attempts_for_multiple_layouts = 5
77
+ params .number_of_sidbs = 2
78
+ result_lyt = generate_multiple_random_sidb_layouts (params , sidb_layout ())
79
+ self .assertIsNone (result_lyt )
80
+
40
81
41
82
if __name__ == "__main__" :
42
83
unittest .main ()
0 commit comments