Skip to content

Commit

Permalink
test(number): more coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
kazhala committed Dec 7, 2021
1 parent 7fa9432 commit a5fda50
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions tests/prompts/test_number.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

from prompt_toolkit.keys import Keys

from InquirerPy.exceptions import InvalidArgument
from InquirerPy.prompts.number import NumberPrompt


Expand All @@ -27,6 +28,17 @@ def test_contructor(self) -> None:
self.assertFalse(self.prompt._is_float())
self.assertEqual(self.prompt.focus, self.prompt._whole_window)

prompt = NumberPrompt(message="", default=lambda _: 1)
self.assertEqual(prompt._default, 1)

try:
NumberPrompt(message="", default="asdfasd")
NumberPrompt(message="", default="asdfas", float_allowed=True)
except InvalidArgument:
pass
else:
self.fail("InvalidArgument should be raised")

def test_float_constructor(self) -> None:
self.assertTrue(self.float_prompt._float)
self.assertEqual(self.float_prompt._default, 1.0)
Expand Down Expand Up @@ -66,6 +78,10 @@ def test_handle_down(self) -> None:
self.prompt._handle_down(None)
self.assertEqual(self.prompt._whole_buffer.text, "-2")

self.prompt._whole_buffer.text = ""
self.prompt._handle_down(None)
self.assertEqual(self.prompt._whole_buffer.text, "0")

def test_handle_down_float(self) -> None:
self.float_prompt._default = 0.3
self.float_prompt._on_rendered(None)
Expand Down Expand Up @@ -95,6 +111,10 @@ def test_handle_up(self) -> None:
self.prompt._handle_up(None)
self.assertEqual(self.prompt._whole_buffer.text, "10")

self.prompt._whole_buffer.text = ""
self.prompt._handle_up(None)
self.assertEqual(self.prompt._whole_buffer.text, "0")

def test_handle_up_float(self) -> None:
self.float_prompt._default = 9.0
self.float_prompt._on_rendered(None)
Expand Down Expand Up @@ -274,3 +294,20 @@ def test_handle_negative_toggle(self) -> None:
self.prompt._handle_negative_toggle(None)
self.assertEqual(self.prompt._whole_buffer.text, "10")
self.assertEqual(self.prompt._whole_buffer.cursor_position, 0)

self.prompt._whole_buffer.text = "-"
self.prompt._handle_negative_toggle(None)
self.assertEqual(self.prompt._whole_buffer.text, "0")

def test_cursor_position(self) -> None:
self.prompt._handle_negative_toggle(None)
self.prompt._whole_buffer.cursor_position = 0
self.assertEqual(self.prompt._whole_buffer.cursor_position, 1)

def test_value(self) -> None:
self.prompt._whole_buffer.text = "asdfad"
self.assertEqual(self.prompt.value, 1)
self.assertEqual(
self.prompt._get_error_message(),
[("class:validation-toolbar", "Remove any non-integer value")],
)

0 comments on commit a5fda50

Please sign in to comment.