добавил юниттесты
parent
9509ea40ed
commit
3d16fb47ba
|
@ -0,0 +1,77 @@
|
|||
import unittest
|
||||
from mvc.models import VimModel
|
||||
from mystring import MyString as MyString
|
||||
|
||||
class TestVimModel(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.model = VimModel(displayLinesCount=10, displayColsCount=80)
|
||||
self.model.displayBuffer = [MyString("line 1"), MyString("line 2")]
|
||||
|
||||
def test_initial_state(self):
|
||||
self.assertEqual(self.model.currentLine, 0)
|
||||
self.assertEqual(self.model.currentCol, 0)
|
||||
self.assertEqual(len(self.model.displayBuffer), 2)
|
||||
|
||||
def test_insert_symbol(self):
|
||||
self.model.InsertSymbol(ord('a'))
|
||||
self.assertEqual(self.model.displayBuffer[0].data(), "aline 1")
|
||||
self.assertEqual(self.model.currentCol, 1)
|
||||
|
||||
def test_move_right(self):
|
||||
self.model.currentCol = 5
|
||||
self.model.MoveRight()
|
||||
self.assertEqual(self.model.currentCol, 6)
|
||||
|
||||
def test_move_left(self):
|
||||
self.model.currentCol = 5
|
||||
self.model.MoveLeft()
|
||||
self.assertEqual(self.model.currentCol, 4)
|
||||
|
||||
def test_move_up(self):
|
||||
self.model.currentLine = 1
|
||||
self.model.MoveUp()
|
||||
self.assertEqual(self.model.currentLine, 0)
|
||||
|
||||
def test_move_down(self):
|
||||
self.model.MoveDown()
|
||||
self.assertEqual(self.model.currentLine, 1)
|
||||
|
||||
def test_backspace(self):
|
||||
self.model.currentCol = 5
|
||||
self.model.Backspace()
|
||||
self.assertEqual(self.model.displayBuffer[0].data(), "line1")
|
||||
self.assertEqual(self.model.currentCol, 4)
|
||||
|
||||
def test_enter(self):
|
||||
self.model.currentCol = 5
|
||||
self.model.Enter()
|
||||
self.assertEqual(len(self.model.displayBuffer), 3)
|
||||
self.assertEqual(self.model.displayBuffer[0].data(), "line ")
|
||||
self.assertEqual(self.model.displayBuffer[1].data(), "1")
|
||||
self.assertEqual(self.model.currentLine, 1)
|
||||
self.assertEqual(self.model.currentCol, 0)
|
||||
|
||||
def test_to_line_start(self):
|
||||
self.model.currentCol = 5
|
||||
self.model.ToLineStart()
|
||||
self.assertEqual(self.model.currentCol, 0)
|
||||
|
||||
def test_to_line_end(self):
|
||||
self.model.ToLineEnd()
|
||||
self.assertEqual(self.model.currentCol, len(self.model.displayBuffer[0]))
|
||||
|
||||
def test_save_file(self):
|
||||
self.model.SaveFile()
|
||||
with open("testfile.txt", "r") as file:
|
||||
lines = file.readlines()
|
||||
self.assertEqual(lines[0].strip(), "line 1")
|
||||
self.assertEqual(lines[1].strip(), "line 2")
|
||||
|
||||
def test_load_file(self):
|
||||
self.model.LoadFile("testfile.txt")
|
||||
self.assertEqual(len(self.model.displayBuffer), 2)
|
||||
self.assertEqual(self.model.displayBuffer[0].data(), "line 1")
|
||||
self.assertEqual(self.model.displayBuffer[1].data(), "line 2")
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
|
@ -0,0 +1,2 @@
|
|||
line 1
|
||||
line 2
|
Loading…
Reference in New Issue