def test_can_handle_request_whose_edge_demand_exceeds_all_substrate_capacities(self):
self.request.edge[("m", "p")]["demand"] = 10 ** 10
scenario = datamodel.Scenario("test_scenario", self.substrate, [self.request],
objective=datamodel.Objective.MAX_PROFIT)
mc_ecg = modelcreator_ecg_decomposition.ModelCreatorCactusDecomposition(scenario)
mc_ecg.init_model_creator()
sol = mc_ecg.compute_fractional_solution()
assert mc_ecg.model.getAttr(GRB.Attr.ObjVal) == pytest.approx(1000.0) # Can be solved by colocation
# forbid colocation => should become infeasible
self.request.set_allowed_nodes("m", {"u"})
self.request.set_allowed_nodes("p", {"v"})
mc_ecg = modelcreator_ecg_decomposition.ModelCreatorCactusDecomposition(scenario)
mc_ecg.init_model_creator()
sol = mc_ecg.compute_fractional_solution()
assert mc_ecg.model.getAttr(GRB.Attr.ObjVal) == pytest.approx(0.0) # Cannot be solved by colocation
python类approx()的实例源码
modelcreator_ecg_decomposition_test.py 文件源码
项目:vnep-approx
作者: vnep-approx
项目源码
文件源码
阅读 23
收藏 0
点赞 0
评论 0
test_timer_collector.py 文件源码
项目:django-performance-testing
作者: PaesslerAG
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def test_captures_and_measures_elapsed_time(seconds):
with capture_result_collected() as captured:
with freeze_time('2016-09-22 15:57:01') as frozen_time:
with TimeCollector():
frozen_time.tick(timedelta(seconds=seconds))
assert len(captured.calls) == 1
assert pytest.approx(seconds) == captured.calls[0]['results'][0].value
def test_real(self):
val = ng.get_data('const.e')
assert type(val) == np.ndarray
assert len(val) == 1
assert val.dtype == 'float64'
assert val[0] == pytest.approx(np.e)
def test_cmplx(self):
val = ng.get_data('const.i')
assert type(val) == np.ndarray
assert len(val) == 1
assert val.dtype == 'complex128'
assert val[0] == pytest.approx(1j)
def test_train_minimum_params(df_train):
params = {'num_rounds': 1}
# TODO: Anything > 1 worker can easily get stuck, as a system
# with 2 cpus will only spawn a single worker.
model = mjolnir.training.xgboost.train(df_train, params, num_workers=1)
# What else can we practically assert?
df_transformed = model.transform(df_train)
assert 'prediction' in df_transformed.columns
assert 0.74 == pytest.approx(model.eval(df_train), abs=0.01)
# make sure train didn't clobber the incoming params
assert params['num_rounds'] == 1
def test_get_biopython_pepstats(self, seqprop_with_i):
"""Test storing Biopython pepstats and consistency of results"""
seqprop_with_i.get_biopython_pepstats()
results = {'instability_index': 27.172727272727272, 'aromaticity': 0.022727272727272728,
'percent_turn_naive': 0.022727272727272728, 'percent_strand_naive': 0.2954545454545454,
'monoisotopic': False, 'isoelectric_point': 8.84234619140625, 'molecular_weight': 4820.8507,
'percent_helix_naive': 0.38636363636363635}
for k, v in results.items():
assert seqprop_with_i.annotations[k] == pytest.approx(v)
def test_calc_cross_cluster_modifier():
assert _calc_cross_cluster_modifier(0, 0) == 1
assert _calc_cross_cluster_modifier(0, 1) == 1
assert _calc_cross_cluster_modifier(1, 1) == 0
assert _calc_cross_cluster_modifier(0, 2) == 1
assert _calc_cross_cluster_modifier(1, 2) == .25
assert _calc_cross_cluster_modifier(2, 2) == 0
assert _calc_cross_cluster_modifier(0, 3) == 1
assert _calc_cross_cluster_modifier(1, 3) == pytest.approx(4 / 9.0)
assert _calc_cross_cluster_modifier(2, 3) == pytest.approx(1 / 9.0)
assert _calc_cross_cluster_modifier(3, 3) == 0
def test_sample():
video_source = shinsekai_source()
duration = five_percent_duration(video_source)
assert video_source.sample(duration).duration == pytest.approx(duration)
def test_sample():
image_source = tatami_source()
assert image_source.sample(1).duration == pytest.approx(1)
def pytest_namespace():
raises.Exception = pytest.fail.Exception
return {
'raises': raises,
'approx': approx,
'collect': {
'Module': Module,
'Class': Class,
'Instance': Instance,
'Function': Function,
'Generator': Generator,
}
}
def __exit__(self, *tp):
__tracebackhide__ = True
if tp[0] is None:
pytest.fail(self.message)
if sys.version_info < (2, 7):
# py26: on __exit__() exc_value often does not contain the
# exception value.
# http://bugs.python.org/issue7853
if not isinstance(tp[1], BaseException):
exc_type, value, traceback = tp
tp = exc_type, exc_type(value), traceback
self.excinfo.__init__(tp)
return issubclass(self.excinfo.type, self.expected_exception)
# builtin pytest.approx helper
def test_pupil_has_zero_pv(p):
assert p.pv == pytest.approx(0)
def test_pupil_has_zero_rms(p):
assert p.rms == pytest.approx(0)
def test_dice_similarity(set1, set2, similarity):
if set1 is None or set2 is None:
with pytest.raises(ValueError):
dice_similarity(set1, set2)
else:
assert pytest.approx(dice_similarity(set1, set2), 0.001) == similarity
def test_jaro_distance(s1, s2, distance):
if s1 is None or s2 is None:
with pytest.raises(TypeError):
jaro_distance(s1, s2)
else:
assert pytest.approx(jaro_distance(s1, s2), 0.001) == distance
def test_jaro_winkler(s1, s2, similarity):
if s1 is None or s2 is None:
with pytest.raises(TypeError):
jaro_winkler_similarity(s1, s2)
else:
assert pytest.approx(jaro_winkler_similarity(s1, s2), 0.001) == similarity
def test_cosine_similarity(vec1, vec2, similarity):
if vec1 is None or vec2 is None:
with pytest.raises(TypeError):
cosine_similarity(vec1, vec2)
else:
assert pytest.approx(cosine_similarity(vec1, vec2), 0.001) == similarity
def test_string_cosine_similarity(bag1, bag2, similarity):
if bag1 is None or bag2 is None:
with pytest.raises(TypeError):
string_cosine_similarity(bag1, bag2)
else:
assert pytest.approx(string_cosine_similarity(bag1, bag2), 0.001) == similarity
def test_tf_idf(bag1, bag2, df_corpus, doc_size, math_log, score):
if bag1 is None or bag2 is None or df_corpus is None:
with pytest.raises(TypeError):
tf_idf_similarity(bag1, bag2)
else:
assert pytest.approx(tf_idf_similarity(bag1, bag2, df_corpus, doc_size, math_log), 0.001) == score
def test_monge_elkan_similarity(bag1, bag2, similarity):
if bag1 is None or bag2 is None:
with pytest.raises(TypeError):
monge_elkan_similarity(bag1, bag2)
else:
assert pytest.approx(monge_elkan_similarity(bag1, bag2), 0.001) == similarity