Best Python code snippet using hypothesis
core.py
Source: core.py
...1666 # magnitude and therefore no relationship between the real and1667 # imaginary parts.1668 return builds(complex, floats(**allow_kw), floats(**allow_kw))1669 @composite1670 def constrained_complex(draw):1671 # Draw the imaginary part, and determine the maximum real part given1672 # this and the max_magnitude1673 if max_magnitude is None:1674 zi = draw(floats(**allow_kw))1675 rmax = None1676 else:1677 zi = draw(floats(-max_magnitude, max_magnitude, **allow_kw))1678 rmax = cathetus(max_magnitude, zi)1679 # Draw the real part from the allowed range given the imaginary part1680 if min_magnitude == 0 or math.fabs(zi) >= min_magnitude:1681 zr = draw(floats(None if rmax is None else -rmax, rmax, **allow_kw))1682 else:1683 zr = draw(floats(cathetus(min_magnitude, zi), rmax, **allow_kw))1684 # Order of conditions carefully tuned so that for a given pair of1685 # magnitude arguments, we always either draw or do not draw the bool1686 # (crucial for good shrinking behaviour) but only invert when needed.1687 if min_magnitude > 0 and draw(booleans()) and math.fabs(zi) <= min_magnitude:1688 zr = -zr1689 return complex(zr, zi)1690 return constrained_complex()1691@deprecated_posargs1692def shared(1693 base: SearchStrategy[Ex],1694 *,1695 key: Optional[Hashable] = None,1696) -> SearchStrategy[Ex]:1697 """Returns a strategy that draws a single shared value per run, drawn from1698 base. Any two shared instances with the same key will share the same value,1699 otherwise the identity of this strategy will be used. That is:1700 >>> s = integers() # or any other strategy1701 >>> x = shared(s)1702 >>> y = shared(s)1703 In the above x and y may draw different (or potentially the same) values.1704 In the following they will always draw the same:...
strategies.py
Source: strategies.py
...1594 # magnitude and therefore no relationship between the real and1595 # imaginary parts.1596 return builds(complex, floats(**allow_kw), floats(**allow_kw))1597 @composite1598 def constrained_complex(draw):1599 # Draw the imaginary part, and determine the maximum real part given1600 # this and the max_magnitude1601 if max_magnitude is None:1602 zi = draw(floats(**allow_kw))1603 rmax = float('inf')1604 else:1605 zi = draw(floats(-max_magnitude, max_magnitude, **allow_kw))1606 rmax = cathetus(max_magnitude, zi)1607 # Draw the real part from the allowed range given the imaginary part1608 if min_magnitude is None or math.fabs(zi) >= min_magnitude:1609 zr = draw(floats(-rmax, rmax, **allow_kw))1610 else:1611 zr = draw(floats(cathetus(min_magnitude, zi), rmax, **allow_kw))1612 # Order of conditions carefully tuned so that for a given pair of1613 # magnitude arguments, we always either draw or do not draw the bool1614 # (crucial for good shrinking behaviour) but only invert when needed.1615 if min_magnitude is not None and draw(booleans()) and \1616 math.fabs(zi) <= min_magnitude:1617 zr = -zr1618 return complex(zr, zi)1619 return constrained_complex()1620def shared(base, key=None):1621 # type: (SearchStrategy[Ex], Any) -> SearchStrategy[Ex]1622 """Returns a strategy that draws a single shared value per run, drawn from1623 base. Any two shared instances with the same key will share the same value,1624 otherwise the identity of this strategy will be used. That is:1625 >>> s = integers() # or any other strategy1626 >>> x = shared(s)1627 >>> y = shared(s)1628 In the above x and y may draw different (or potentially the same) values.1629 In the following they will always draw the same:1630 >>> x = shared(s, key="hi")1631 >>> y = shared(s, key="hi")1632 Examples from this strategy shrink as per their base strategy.1633 """...
test_graphsolver.py
Source: test_graphsolver.py
1"""2Unit tests for module.3"""4import networkx as nx5import pandas as pd6import logging7import pytest8import allocate.solvers.graphsolver9import allocate.network.algorithms10import allocate.network.visualize11import tests.utilities12from allocate.solvers.constrained import BucketSolverConstrained13from allocate.solvers.constrained import BucketSolverSimple14from allocate.solvers import BucketSolver15@pytest.mark.parametrize('starting_frame,expected_graph,solver', [16 # simple_no_addition : the amounts should be redistributed17 (18 pd.DataFrame([19 dict(label='T', current_value=3000.0, optimal_ratio=1.00, amount_to_add=0.0000, children=('H', 'I', 'J')),20 dict(label='H', current_value=3000.0, optimal_ratio=0.50, amount_to_add=0.0000, children=()),21 dict(label='I', current_value=0000.0, optimal_ratio=0.35, amount_to_add=0.0000, children=()),22 dict(label='J', current_value=0000.0, optimal_ratio=0.15, amount_to_add=0.0000, children=()),23 ]),24 tests.utilities.make_graph(nodes=[25 ('T', dict(results_value=3000.0 + 3000.0 * 0.00, amount_to_add=+3000.0 * 0.00)),26 ('H', dict(results_value=3000.0 - 3000.0 * 0.50, amount_to_add=-3000.0 * 0.50)),27 ('I', dict(results_value=0.0000 + 3000.0 * 0.35, amount_to_add=+3000.0 * 0.35)),28 ('J', dict(results_value=0.0000 + 3000.0 * 0.15, amount_to_add=+3000.0 * 0.15)),29 ], edges=[30 ('T', 'H'), ('T', 'I'), ('T', 'J')31 ]),32 BucketSolverSimple33 ),34 # simple_value_added : the amounts should be redistributed and value should be added35 (36 pd.DataFrame([37 dict(label='F', current_value=8000.0 + 0.000, optimal_ratio=1.00, amount_to_add=1000.0,38 children=('U', 'V', 'W')),39 dict(label='U', current_value=4000.0 + 0.000, optimal_ratio=0.50, amount_to_add=0.0000, children=()),40 dict(label='V', current_value=2800.0 + 256.0, optimal_ratio=0.35, amount_to_add=0.0000, children=()),41 dict(label='W', current_value=1200.0 - 256.0, optimal_ratio=0.15, amount_to_add=0.0000, children=()),42 ]),43 tests.utilities.make_graph(nodes=[44 ('F', dict(results_value=8000.0 + 0.000 + 1000.0 * 1.00 + 0.000, amount_to_add=+1000.0 * 0.00 + 0.000)),45 ('U', dict(results_value=4000.0 + 0.000 + 1000.0 * 0.50 + 0.000, amount_to_add=+1000.0 * 0.50 + 0.000)),46 ('V', dict(results_value=2800.0 + 256.0 + 1000.0 * 0.35 - 256.0, amount_to_add=+1000.0 * 0.35 - 256.0)),47 ('W', dict(results_value=1200.0 - 256.0 + 1000.0 * 0.15 + 256.0, amount_to_add=+1000.0 * 0.15 + 256.0)),48 ], edges=[49 ('F', 'U'), ('F', 'V'), ('F', 'W')50 ]),51 BucketSolverSimple52 ),53 # constrained_simple : values are only added to the final result and are in perfect ratios54 (55 pd.DataFrame([56 dict(label='A', current_value=4000.0, optimal_ratio=1.00, amount_to_add=1000.0, children=('0', '1', '2')),57 dict(label='0', current_value=2000.0, optimal_ratio=0.50, amount_to_add=0.0000, children=()),58 dict(label='1', current_value=1000.0, optimal_ratio=0.25, amount_to_add=0.0000, children=()),59 dict(label='2', current_value=1000.0, optimal_ratio=0.25, amount_to_add=0.0000, children=()),60 ]),61 tests.utilities.make_graph(nodes=[62 ('A', dict(results_value=4000.0 + 1000.0 * 1.00, amount_to_add=1000.0 * 0.00)),63 ('0', dict(results_value=2000.0 + 1000.0 * 0.50, amount_to_add=1000.0 * 0.50)),64 ('1', dict(results_value=1000.0 + 1000.0 * 0.25, amount_to_add=1000.0 * 0.25)),65 ('2', dict(results_value=1000.0 + 1000.0 * 0.25, amount_to_add=1000.0 * 0.25)),66 ], edges=[67 ('A', '0'), ('A', '1'), ('A', '2')68 ]),69 BucketSolverConstrained70 ),71 # constrained_complex : values are only added to the final result and are in perfect ratios72 (73 pd.DataFrame([74 dict(label='B', current_value=8000.0, optimal_ratio=1.00, amount_to_add=4000.0, children=('3', '4', '5')),75 dict(label='3', current_value=4000.0, optimal_ratio=0.50, amount_to_add=0.0000, children=()),76 dict(label='4', current_value=2000.0, optimal_ratio=0.25, amount_to_add=0.0000, children=()),77 dict(label='5', current_value=2000.0, optimal_ratio=0.25, amount_to_add=0.0000, children=('C', 'D')),78 dict(label='C', current_value=1000.0, optimal_ratio=0.50, amount_to_add=0.0000, children=()),79 dict(label='D', current_value=1000.0, optimal_ratio=0.50, amount_to_add=0.0000, children=('6', '7')),80 dict(label='6', current_value=2.50e2, optimal_ratio=0.25, amount_to_add=0.0000, children=()),81 dict(label='7', current_value=7.50e2, optimal_ratio=0.75, amount_to_add=0.0000, children=()),82 ]),83 tests.utilities.make_graph(nodes=[84 ('B', dict(results_value=8000.0 + 4000.0 * 1.00 * 1.00 * 1.00, amount_to_add=4000.0 * 0.00 * 1.00 * 1.00)),85 ('3', dict(results_value=4000.0 + 4000.0 * 0.50 * 1.00 * 1.00, amount_to_add=4000.0 * 0.50 * 1.00 * 1.00)),86 ('4', dict(results_value=2000.0 + 4000.0 * 0.25 * 1.00 * 1.00, amount_to_add=4000.0 * 0.25 * 1.00 * 1.00)),87 ('5', dict(results_value=2000.0 + 4000.0 * 0.25 * 1.00 * 1.00, amount_to_add=4000.0 * 0.00 * 1.00 * 1.00)),88 ('C', dict(results_value=1000.0 + 4000.0 * 0.25 * 0.50 * 1.00, amount_to_add=4000.0 * 0.25 * 0.50 * 1.00)),89 ('D', dict(results_value=1000.0 + 4000.0 * 0.25 * 0.50 * 1.00, amount_to_add=4000.0 * 0.00 * 0.50 * 1.00)),90 ('6', dict(results_value=2.50e2 + 4000.0 * 0.25 * 0.50 * 0.25, amount_to_add=4000.0 * 0.25 * 0.50 * 0.25)),91 ('7', dict(results_value=7.50e2 + 4000.0 * 0.25 * 0.50 * 0.75, amount_to_add=4000.0 * 0.25 * 0.50 * 0.75)),92 ], edges=[93 ('B', '3'), ('B', '4'), ('B', '5'), ('5', 'C'), ('5', 'D'), ('D', '6'), ('D', '7')94 ]),95 BucketSolverConstrained96 ),97], ids=[98 'simple_no_addition',99 'simple_value_added',100 'constrained_simple',101 'constrained_complex',102])103def test_solve(starting_frame: pd.DataFrame, expected_graph: nx.DiGraph, solver: BucketSolver):104 logging.debug('starting_frame:\n%s', starting_frame)105 starting_graph: nx.DiGraph = allocate.network.algorithms.create(starting_frame)106 tests.utilities.show_graph('starting_graph', starting_graph, **allocate.network.visualize.formats_inp)107 tests.utilities.show_graph('expected_graph', expected_graph, **allocate.network.visualize.formats_out)108 observed_graph: nx.DiGraph = allocate.solvers.graphsolver.solve(starting_graph, solver=solver, inplace=False)109 tests.utilities.show_graph('observed_graph', observed_graph, **allocate.network.visualize.formats_out)110 node_match = nx.algorithms.isomorphism.numerical_node_match(111 ['results_value', 'amount_to_add'], [-1000, -1000])...
Check out the latest blogs from LambdaTest on this topic:
Before we discuss the Joomla testing, let us understand the fundamentals of Joomla and how this content management system allows you to create and maintain web-based applications or websites without having to write and implement complex coding requirements.
In today’s world, an organization’s most valuable resource is its customers. However, acquiring new customers in an increasingly competitive marketplace can be challenging while maintaining a strong bond with existing clients. Implementing a customer relationship management (CRM) system will allow your organization to keep track of important customer information. This will enable you to market your services and products to these customers better.
How do we acquire knowledge? This is one of the seemingly basic but critical questions you and your team members must ask and consider. We are experts; therefore, we understand why we study and what we should learn. However, many of us do not give enough thought to how we learn.
Testing is a critical step in any web application development process. However, it can be an overwhelming task if you don’t have the right tools and expertise. A large percentage of websites still launch with errors that frustrate users and negatively affect the overall success of the site. When a website faces failure after launch, it costs time and money to fix.
Mobile application development is on the rise like never before, and it proportionally invites the need to perform thorough testing with the right mobile testing strategies. The strategies majorly involve the usage of various mobile automation testing tools. Mobile testing tools help businesses automate their application testing and cut down the extra cost, time, and chances of human error.
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!