123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- """Test fixtures."""
- import platform
- from typing import Generator
- import pytest
- from pynecone.state import State
- @pytest.fixture(scope="function")
- def windows_platform() -> Generator:
- """Check if system is windows.
- Yields:
- whether system is windows.
- """
- yield platform.system() == "Windows"
- @pytest.fixture
- def list_mutation_state():
- """Create a state with list mutation features.
- Returns:
- A state with list mutation features.
- """
- class TestState(State):
- """The test state."""
- # plain list
- plain_friends = ["Tommy"]
- def make_friend(self):
- self.plain_friends.append("another-fd")
- def change_first_friend(self):
- self.plain_friends[0] = "Jenny"
- def unfriend_all_friends(self):
- self.plain_friends.clear()
- def unfriend_first_friend(self):
- del self.plain_friends[0]
- def remove_last_friend(self):
- self.plain_friends.pop()
- def make_friends_with_colleagues(self):
- colleagues = ["Peter", "Jimmy"]
- self.plain_friends.extend(colleagues)
- def remove_tommy(self):
- self.plain_friends.remove("Tommy")
- # list in dict
- friends_in_dict = {"Tommy": ["Jenny"]}
- def remove_jenny_from_tommy(self):
- self.friends_in_dict["Tommy"].remove("Jenny")
- def add_jimmy_to_tommy_friends(self):
- self.friends_in_dict["Tommy"].append("Jimmy")
- def tommy_has_no_fds(self):
- self.friends_in_dict["Tommy"].clear()
- # nested list
- friends_in_nested_list = [["Tommy"], ["Jenny"]]
- def remove_first_group(self):
- self.friends_in_nested_list.pop(0)
- def remove_first_person_from_first_group(self):
- self.friends_in_nested_list[0].pop(0)
- def add_jimmy_to_second_group(self):
- self.friends_in_nested_list[1].append("Jimmy")
- return TestState()
- @pytest.fixture
- def dict_mutation_state():
- """Create a state with dict mutation features.
- Returns:
- A state with dict mutation features.
- """
- class TestState(State):
- """The test state."""
- # plain dict
- details = {"name": "Tommy"}
- def add_age(self):
- self.details.update({"age": 20}) # type: ignore
- def change_name(self):
- self.details["name"] = "Jenny"
- def remove_last_detail(self):
- self.details.popitem()
- def clear_details(self):
- self.details.clear()
- def remove_name(self):
- del self.details["name"]
- def pop_out_age(self):
- self.details.pop("age")
- # dict in list
- address = [{"home": "home address"}, {"work": "work address"}]
- def remove_home_address(self):
- self.address[0].pop("home")
- def add_street_to_home_address(self):
- self.address[0]["street"] = "street address"
- # nested dict
- friend_in_nested_dict = {"name": "Nikhil", "friend": {"name": "Alek"}}
- def change_friend_name(self):
- self.friend_in_nested_dict["friend"]["name"] = "Tommy"
- def remove_friend(self):
- self.friend_in_nested_dict.pop("friend")
- def add_friend_age(self):
- self.friend_in_nested_dict["friend"]["age"] = 30
- return TestState()
|