Пример #1
0
def exercise():
    from cctbx.web import change_basis
    from libtbx.utils import Sorry
    from libtbx.test_utils import Exception_expected

    def check(string, expected):
        rt = change_basis.p_from_string(string)
        ex = change_basis.p_from_string(expected)
        assert rt.r == ex.r
        assert rt.t == ex.t

    check("", "a,b,c")
    check("a,b,c", "a,b,c")
    check("{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}", "a,b,c")
    check("2, 0, 0, 0, 2, 0, 0, 0, 2", "2a,2b,2c")
    check("{{1/2, 0, 0}, {0, 1/2, 0}, {0, 0, 1/2}}", "1/2a,1/2b,1/2c")
    check("{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}, 1/2, 1/3, 1/4",
          "a+1/2,b+1/3,c+1/4")
    check("(1 0 0 | 1/2) (0 1 0 | 1/3) (0 0 1 | 1/4)", "a+1/2,b+1/3,c+1/4")
    check("1/2,1/3,1/4", "a+1/2,b+1/3,c+1/4")
    try:
        change_basis.p_from_string("0")
    except Sorry, e:
        assert str(e) == \
          'Uninterpretable expression for change-of-basis matrix: "0"'
Пример #2
0
def exercise():
    from cctbx.web import change_basis
    from libtbx.utils import Sorry
    from libtbx.test_utils import Exception_expected

    def check(string, expected):
        rt = change_basis.p_from_string(string)
        ex = change_basis.p_from_string(expected)
        assert rt.r == ex.r
        assert rt.t == ex.t

    check("", "a,b,c")
    check("a,b,c", "a,b,c")
    check("{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}", "a,b,c")
    check("2, 0, 0, 0, 2, 0, 0, 0, 2", "2a,2b,2c")
    check("{{1/2, 0, 0}, {0, 1/2, 0}, {0, 0, 1/2}}", "1/2a,1/2b,1/2c")
    check("{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}, 1/2, 1/3, 1/4",
          "a+1/2,b+1/3,c+1/4")
    check("(1 0 0 | 1/2) (0 1 0 | 1/3) (0 0 1 | 1/4)", "a+1/2,b+1/3,c+1/4")
    check("1/2,1/3,1/4", "a+1/2,b+1/3,c+1/4")
    try:
        change_basis.p_from_string("0")
    except Sorry as e:
        assert str(e) == \
          'Uninterpretable expression for change-of-basis matrix'
    else:
        raise Exception_expected
    #
    rt = change_basis.w_from_string("1/2,1/3,1/4")
    assert rt.r.elems == (0, ) * 9
    assert str(rt.t.elems) == "(1/2, 1/3, 1/4)"
    try:
        change_basis.w_from_string("0")
    except Sorry as e:
        assert str(e) == \
          'Uninterpretable expression for symmetry matrix'
    else:
        raise Exception_expected
    #
    xyz = change_basis.xyz_from_string("0.5,1/3,4")
    assert str(xyz) == "(0.5, 1/3, 4)"
    try:
        change_basis.xyz_from_string("0")
    except Sorry as e:
        assert str(e) == \
          'Uninterpretable expression for coordinates'
    else:
        raise Exception_expected
def exercise():
  from cctbx.web import change_basis
  from libtbx.utils import Sorry
  from libtbx.test_utils import Exception_expected
  def check(string, expected):
    rt = change_basis.p_from_string(string)
    ex = change_basis.p_from_string(expected)
    assert rt.r == ex.r
    assert rt.t == ex.t
  check("", "a,b,c")
  check("a,b,c", "a,b,c")
  check("{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}", "a,b,c")
  check("2, 0, 0, 0, 2, 0, 0, 0, 2", "2a,2b,2c")
  check("{{1/2, 0, 0}, {0, 1/2, 0}, {0, 0, 1/2}}", "1/2a,1/2b,1/2c")
  check("{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}, 1/2, 1/3, 1/4",
    "a+1/2,b+1/3,c+1/4")
  check("(1 0 0 | 1/2) (0 1 0 | 1/3) (0 0 1 | 1/4)",
    "a+1/2,b+1/3,c+1/4")
  check("1/2,1/3,1/4", "a+1/2,b+1/3,c+1/4")
  try:
    change_basis.p_from_string("0")
  except Sorry, e:
    assert str(e) == \
      'Uninterpretable expression for change-of-basis matrix: "0"'
Пример #4
0
 def check(string, expected):
     rt = change_basis.p_from_string(string)
     ex = change_basis.p_from_string(expected)
     assert rt.r == ex.r
     assert rt.t == ex.t
 def check(string, expected):
   rt = change_basis.p_from_string(string)
   ex = change_basis.p_from_string(expected)
   assert rt.r == ex.r
   assert rt.t == ex.t