예제 #1
0
파일: state.py 프로젝트: nayabur/pyshgp
    def __init__(self, type_library: PushTypeLibrary, push_config: PushConfig):
        super().__init__()
        self.stdout = ""
        self.inputs = []
        self.untyped = deque([])
        self.type_library = type_library
        self.push_config = push_config

        for name, push_type in type_library.items():
            self[name] = PushStack(push_type, push_config)
예제 #2
0
def str_stack(atoms, push_config):
    return PushStack(PushStr, push_config)
예제 #3
0
def str_stack(atoms):
    return PushStack(PushStr)
예제 #4
0
 def test_large_str(self, str_stack: PushStack):
     s = "largestr" * 1000
     str_stack.push(s)
     assert len(str_stack.pop()) != len(s)
예제 #5
0
 def test_set_nth_oob(self, str_stack: PushStack):
     with pytest.raises(IndexError):
         str_stack.push("a").push("b").push("c").set_nth(10, "z")
예제 #6
0
 def test_insert_oob(self, str_stack: PushStack):
     str_stack.push("a").push("b").push("c").insert(10, "z")
     assert len(str_stack) == 4
     assert str_stack.nth(1) == "b"
     assert str_stack.nth(3) == "z"
예제 #7
0
 def test_top(self, int_stack: PushStack):
     int_stack.push(5).push(-10)
     assert int_stack.top() == -10
예제 #8
0
 def test_nth(self, int_stack: PushStack):
     int_stack.push(5).push(4).push(3)
     assert int_stack.nth(1) == 4
예제 #9
0
파일: test_stack.py 프로젝트: erp12/Pysh
 def test_top(self, int_stack: PushStack):
     int_stack.push(5).push(-10)
     assert int_stack.top() == -10
예제 #10
0
파일: test_stack.py 프로젝트: erp12/Pysh
 def test_nth_oob(self, int_stack: PushStack):
     int_stack.push(5)
     assert int_stack.nth(1) == Token.no_stack_item
예제 #11
0
파일: test_stack.py 프로젝트: erp12/Pysh
 def test_nth(self, int_stack: PushStack):
     int_stack.push(5).push(4).push(3)
     assert int_stack.nth(1) == 4
예제 #12
0
파일: test_stack.py 프로젝트: erp12/Pysh
 def test_push_wrong_type(self, int_stack: PushStack):
     with pytest.raises(PushError):
         int_stack.push("zz")
예제 #13
0
파일: test_stack.py 프로젝트: erp12/Pysh
 def test_push(self, int_stack: PushStack):
     int_stack.push(5)
     assert len(int_stack) == 1
예제 #14
0
파일: test_stack.py 프로젝트: erp12/Pysh
 def test_init_values(self):
     stack = PushStack(PushStr, ["bottom", "middle", "top"])
     assert stack.top() == "top"
     assert list(stack) == ["bottom", "middle", "top"]
예제 #15
0
def int_stack(atoms):
    return PushStack(PushInt)
예제 #16
0
 def test_push(self, int_stack: PushStack):
     int_stack.push(5)
     assert len(int_stack) == 1
예제 #17
0
 def test_push_wrong_type(self, int_stack: PushStack):
     with pytest.raises(PushError):
         int_stack.push("zz")
예제 #18
0
파일: test_stack.py 프로젝트: erp12/Pysh
 def test_top_of_empty(self, int_stack: PushStack):
     assert int_stack.top() == Token.no_stack_item
예제 #19
0
 def test_nth_oob(self, int_stack: PushStack):
     int_stack.push(5)
     assert int_stack.nth(1) == Token.no_stack_item
예제 #20
0
파일: test_stack.py 프로젝트: erp12/Pysh
 def test_insert_oob(self, str_stack: PushStack):
     str_stack.push("a").push("b").push("c").insert(10, "z")
     assert len(str_stack) == 4
     assert str_stack.nth(1) == "b"
     assert str_stack.nth(3) == "z"
예제 #21
0
 def test_top_of_empty(self, int_stack: PushStack):
     assert int_stack.top() == Token.no_stack_item
예제 #22
0
파일: test_stack.py 프로젝트: erp12/Pysh
 def test_set_nth(self, str_stack: PushStack):
     str_stack.push("a").push("b").push("c").push("d").set_nth(1, "z")
     assert len(str_stack) == 4
     assert str_stack.nth(1) == "z"
예제 #23
0
 def test_set_nth(self, str_stack: PushStack):
     str_stack.push("a").push("b").push("c").push("d").set_nth(1, "z")
     assert len(str_stack) == 4
     assert str_stack.nth(1) == "z"
예제 #24
0
파일: test_stack.py 프로젝트: erp12/Pysh
 def test_set_nth_oob(self, str_stack: PushStack):
     with pytest.raises(IndexError):
         str_stack.push("a").push("b").push("c").set_nth(10, "z")
예제 #25
0
 def test_flush(self, int_stack: PushStack):
     int_stack.push(1).push(-1).flush()
     assert len(int_stack) == 0
예제 #26
0
파일: test_stack.py 프로젝트: erp12/Pysh
 def test_flush(self, int_stack: PushStack):
     int_stack.push(1).push(-1).flush()
     assert len(int_stack) == 0
예제 #27
0
def int_stack(atoms, push_config):
    return PushStack(PushInt, push_config)
예제 #28
0
파일: state.py 프로젝트: bmetevier/pyshgp
 def _register_stack_of_type(self, push_type: PushType):
     """Add a new stack."""
     self[push_type.name] = PushStack(push_type)