Make Buffer tests prettier with method chaining
Feel like I'm gonna regret this but YOLO.
This commit is contained in:
parent
cf41848edb
commit
e5f0bd6188
2 changed files with 22 additions and 22 deletions
|
|
@ -47,14 +47,19 @@ class Buffer:
|
|||
self.cx = cx
|
||||
self.cy = cy
|
||||
|
||||
def up(self) -> None:
|
||||
self.cy -= 1
|
||||
def up(self) -> "Buffer":
|
||||
if self.cy > 0:
|
||||
self.cy -= 1
|
||||
return self
|
||||
|
||||
def down(self) -> None:
|
||||
def down(self) -> "Buffer":
|
||||
self.cy += 1
|
||||
return self
|
||||
|
||||
def left(self) -> None:
|
||||
def left(self) -> "Buffer":
|
||||
self.cx -= 1
|
||||
return self
|
||||
|
||||
def right(self) -> None:
|
||||
def right(self) -> "Buffer":
|
||||
self.cx += 1
|
||||
return self
|
||||
|
|
|
|||
|
|
@ -1,30 +1,25 @@
|
|||
from editor.main import Buffer
|
||||
|
||||
|
||||
def test_buffer_init():
|
||||
buf = Buffer()
|
||||
assert buf.cx == buf.cy == 0
|
||||
|
||||
|
||||
def test_buffer_up():
|
||||
buf = Buffer(cy=1)
|
||||
buf.up()
|
||||
assert buf.cy == 0
|
||||
assert Buffer(cy=1).up().cy == 0
|
||||
|
||||
|
||||
def test_buffer_up_at_first_line():
|
||||
assert Buffer().up().cy == 0
|
||||
|
||||
|
||||
def test_buffer_down():
|
||||
buf = Buffer()
|
||||
buf.down()
|
||||
assert buf.cy == 1
|
||||
assert Buffer().down().cy == 1
|
||||
|
||||
|
||||
def test_buffer_down_at_last_line():
|
||||
assert Buffer().up().cy == 0
|
||||
|
||||
|
||||
def test_buffer_left():
|
||||
buf = Buffer(cx=1)
|
||||
buf.left()
|
||||
assert buf.cx == 0
|
||||
assert Buffer(cx=1).left().cx == 0
|
||||
|
||||
|
||||
def test_buffer_right():
|
||||
buf = Buffer()
|
||||
buf.right()
|
||||
assert buf.cx == 1
|
||||
assert Buffer().right().cx == 1
|
||||
|
|
|
|||
Loading…
Reference in a new issue