示例#1
0
def exercise_basic():
    std_labels = xray_scattering.standard_labels_list()
    assert len(std_labels) == 217
    assert std_labels[:5] == ["H", "D", "T", "Hiso", "He"]
    assert std_labels[-1] == "Pu6+"
    for l in std_labels:
        assert xray_scattering.get_standard_label(label=l,
                                                  exact=True,
                                                  optional=False) == l
    assert xray_scattering.get_standard_label(label="na+") == "Na1+"
    assert xray_scattering.get_standard_label(label="na+") == "Na1+"
    assert xray_scattering.get_standard_label(label="o-") == "O1-"
    assert xray_scattering.get_standard_label(label="SI4+A") == "Si4+"
    assert xray_scattering.get_standard_label(label="SI1+") == "Si"
    assert xray_scattering.get_standard_label(
        label="SI1+", exact=True, optional=True) is None
    try:
        xray_scattering.get_standard_label(label="SI1+",
                                           exact=True,
                                           optional=False)
    except ValueError as e:
        assert str(e) == 'Unknown scattering type label: "SI1+"'
    else:
        raise Exception_expected
    #
    from cctbx.eltbx import tiny_pse
    for sl in std_labels:
        e, c = xray_scattering.get_element_and_charge_symbols(
            scattering_type=sl)
        assert e == "T" or tiny_pse.table(e, True).symbol() == e
        if (c != ""):
            assert len(c) == 2
            assert "123456789".find(c[0]) >= 0
            assert c[1] in ["+", "-"]
示例#2
0
def ensure_correct_element_symbol():
    from cctbx.eltbx import tiny_pse
    for e in xray_scattering.it1992_iterator():
        l = e.label()
        e, c = xray_scattering.get_element_and_charge_symbols(
            scattering_type=l, exact=False)
        assert tiny_pse.table(l).symbol() == e
        assert tiny_pse.table(l.lower()).symbol() == e
        assert tiny_pse.table(l.upper()).symbol() == e
def ensure_correct_element_symbol():
  from cctbx.eltbx import tiny_pse
  for e in xray_scattering.it1992_iterator():
    l = e.label()
    e, c = xray_scattering.get_element_and_charge_symbols(
      scattering_type=l, exact=False)
    assert tiny_pse.table(l).symbol() == e
    assert tiny_pse.table(l.lower()).symbol() == e
    assert tiny_pse.table(l.upper()).symbol() == e
  assert xray_scattering.get_standard_label(label="na+") == "Na1+"
  assert xray_scattering.get_standard_label(label="o-") == "O1-"
  assert xray_scattering.get_standard_label(label="SI4+A") == "Si4+"
  assert xray_scattering.get_standard_label(label="SI1+") == "Si"
  assert xray_scattering.get_standard_label(label="SI1+",
    exact=True, optional=True) is None
  try:
    xray_scattering.get_standard_label(label="SI1+",
      exact=True, optional=False)
  except ValueError, e:
    assert str(e) == 'Unknown scattering type label: "SI1+"'
  else: raise Exception_expected
  #
  from cctbx.eltbx import tiny_pse
  for sl in std_labels:
    e, c = xray_scattering.get_element_and_charge_symbols(scattering_type=sl)
    assert e == "T" or tiny_pse.table(e, True).symbol() == e
    if (c != ""):
      assert len(c) == 2
      assert "123456789".find(c[0]) >= 0
      assert c[1] in ["+", "-"]

def exercise_gaussian():
  g = xray_scattering.gaussian(0)
  assert g.n_terms() == 0
  assert approx_equal(g.c(), 0)
  assert g.use_c()
  assert g.n_parameters() == 1
  g = xray_scattering.gaussian(0, False)
  assert g.n_terms() == 0
  assert approx_equal(g.c(), 0)
    assert xray_scattering.get_standard_label(label="SI4+A") == "Si4+"
    assert xray_scattering.get_standard_label(label="SI1+") == "Si"
    assert xray_scattering.get_standard_label(
        label="SI1+", exact=True, optional=True) is None
    try:
        xray_scattering.get_standard_label(label="SI1+",
                                           exact=True,
                                           optional=False)
    except ValueError, e:
        assert str(e) == 'Unknown scattering type label: "SI1+"'
    else:
        raise Exception_expected
    #
    from cctbx.eltbx import tiny_pse
    for sl in std_labels:
        e, c = xray_scattering.get_element_and_charge_symbols(
            scattering_type=sl)
        assert e == "T" or tiny_pse.table(e, True).symbol() == e
        if (c != ""):
            assert len(c) == 2
            assert "123456789".find(c[0]) >= 0
            assert c[1] in ["+", "-"]


def exercise_gaussian():
    g = xray_scattering.gaussian(0)
    assert g.n_terms() == 0
    assert approx_equal(g.c(), 0)
    assert g.use_c()
    assert g.n_parameters() == 1
    g = xray_scattering.gaussian(0, False)
    assert g.n_terms() == 0