def test_bigmip_ordering_by_subsystem_size(s, s_single): small = models.BigMip( unpartitioned_constellation=None, partitioned_constellation=None, subsystem=s_single, cut_subsystem=(), phi=1.0) big = models.BigMip( unpartitioned_constellation=None, partitioned_constellation=None, subsystem=s, cut_subsystem=(), phi=1.0) assert small < big assert small <= big assert big > small assert big >= small assert big != small
def test_bigmip_equality(s): phi = 1.0 bigmip = models.BigMip( unpartitioned_constellation=None, partitioned_constellation=None, subsystem=s, cut_subsystem=s, phi=phi) close_enough = models.BigMip( unpartitioned_constellation=None, partitioned_constellation=None, subsystem=s, cut_subsystem=s, phi=(phi - constants.EPSILON/2)) not_quite = models.BigMip( unpartitioned_constellation=None, partitioned_constellation=None, subsystem=s, cut_subsystem=s, phi=(phi - constants.EPSILON*2)) assert bigmip == close_enough assert bigmip != not_quite
def test_bigmip_odering_by_mechanism(): small = models.BigMip(unpartitioned_constellation=None, partitioned_constellation=None, subsystem=[1], cut_subsystem=(), phi=1.0) big = models.BigMip(unpartitioned_constellation=None, partitioned_constellation=None, subsystem=[1, 2], cut_subsystem=(), phi=1.0) assert small < big assert small <= big assert big > small assert big >= small assert big != small
def test_big_mip_wrappers(reducible, flushcache, restore_fs_cache): flushcache() assert (compute.big_mip(reducible) == models.BigMip(subsystem=reducible, cut_subsystem=reducible, phi=0.0, unpartitioned_constellation=[], partitioned_constellation=[])) assert compute.big_phi(reducible) == 0.0
def test_bigmip_repr_str(): bigmip = models.BigMip(unpartitioned_constellation=None, partitioned_constellation=None, subsystem=(), cut_subsystem=(), phi=1.0) print(repr(bigmip)) print(str(bigmip))
def test_big_mip_empty_subsystem(s_empty, flushcache, restore_fs_cache): flushcache() assert (compute.big_mip(s_empty) == models.BigMip(phi=0.0, unpartitioned_constellation=(), partitioned_constellation=(), subsystem=s_empty, cut_subsystem=s_empty))
def test_bigmip_ordering(s, s_noised): phi1 = models.BigMip( unpartitioned_constellation=None, partitioned_constellation=None, subsystem=s, cut_subsystem=(), phi=1.0) different_phi1 = models.BigMip( unpartitioned_constellation=0, partitioned_constellation=None, subsystem=s_noised, cut_subsystem=(), phi=1.0) phi2 = models.BigMip( unpartitioned_constellation='stilldifferent', partitioned_constellation=None, subsystem=s, cut_subsystem=(), phi=1.0 + constants.EPSILON*2) assert phi1 < phi2 assert phi2 > phi1 assert phi1 <= phi2 assert phi2 >= phi1 with pytest.raises(TypeError): phi1 <= different_phi1 with pytest.raises(TypeError): phi1 >= different_phi1
def test_bigmip_ordering(): phi1 = models.BigMip(unpartitioned_constellation=None, partitioned_constellation=None, subsystem=(), cut_subsystem=(), phi=1.0) different_phi1 = models.BigMip(unpartitioned_constellation=0, partitioned_constellation=None, subsystem=(), cut_subsystem=(), phi=1.0) phi2 = models.BigMip(unpartitioned_constellation='stilldifferent', partitioned_constellation=None, subsystem=(), cut_subsystem=(), phi=1.0 + constants.EPSILON * 2) assert phi1 < phi2 assert phi2 > phi1 assert phi1 <= phi2 assert phi2 >= phi1 assert phi1 <= different_phi1 assert phi1 >= different_phi1
def test_big_mip_disconnected_network(reducible, flushcache, restore_fs_cache): flushcache() assert (compute.big_mip(reducible) == models.BigMip(subsystem=reducible, cut_subsystem=reducible, phi=0.0, unpartitioned_constellation=[], partitioned_constellation=[]))