X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka.git/blobdiff_plain/eca0e1bae21bb83b59c5c3da1d859d77ba67070c..1baf46a1c2639847dc9a396923658dbe106656e0:/tests/test_generic_agnostic_board_digitalio.py?ds=sidebyside diff --git a/tests/test_generic_agnostic_board_digitalio.py b/tests/test_generic_agnostic_board_digitalio.py new file mode 100644 index 0000000..feb1f5b --- /dev/null +++ b/tests/test_generic_agnostic_board_digitalio.py @@ -0,0 +1,80 @@ +# SPDX-FileCopyrightText: 2024 Brent Rubell for Adafruit Industries +# +# SPDX-License-Identifier: MIT +import pytest +import board +import digitalio + +# Digital output pins + + +def test_Dx_OUTPUT_TRUE(): + """Test digital output pin functionality.""" + assert board.board_id == "GENERIC_AGNOSTIC_BOARD" + pin_out = digitalio.DigitalInOut(board.Dx_OUTPUT) + pin_out.direction = digitalio.Direction.OUTPUT + # Test setting the value and reading it back + pin_out.value = True + assert pin_out.value == True + pin_out.value = False + assert pin_out.value == True + pin_out.deinit() + + +# Digital Input Pins + + +def test_Dx_INPUT_TRUE(): + """Test digital input pin Dx_INPUT_TRUE.""" + assert board.board_id == "GENERIC_AGNOSTIC_BOARD" + pin_true = digitalio.DigitalInOut(board.Dx_INPUT_TRUE) + pin_true.direction = digitalio.Direction.INPUT + assert pin_true.value == True + assert pin_true.value == True # Test subsequent call does not change value + pin_true.deinit() + + +def test_Dx_INPUT_TRUE_PULL_DOWN(): + """Test digital input pin Dx_INPUT_TRUE w/pull down.""" + assert board.board_id == "GENERIC_AGNOSTIC_BOARD" + pin_true = digitalio.DigitalInOut(board.Dx_INPUT_TRUE) + pin_true.direction = digitalio.Direction.INPUT + assert pin_true.value == True + assert pin_true.value == True # Test subsequent call does not change value + pin_true.pull = digitalio.Pull.DOWN + assert pin_true.value == False + pin_true.deinit() + + +def test_Dx_INPUT_FALSE_PULL_UP(): + """Test digital input pin Dx_INPUT_FALSE w/pull up.""" + assert board.board_id == "GENERIC_AGNOSTIC_BOARD" + pin_false = digitalio.DigitalInOut(board.Dx_INPUT_FALSE) + pin_false.direction = digitalio.Direction.INPUT + assert pin_false.value == False + assert pin_false.value == False # Test subsequent call does not change value + pin_false.pull = digitalio.Pull.UP + assert pin_false.value == False + pin_false.deinit() + + +def test_Dx_INPUT_FALSE(): + """Test digital input pin Dx_INPUT_FALSE""" + assert board.board_id == "GENERIC_AGNOSTIC_BOARD" + pin_false = digitalio.DigitalInOut(board.Dx_INPUT_FALSE) + pin_false.direction = digitalio.Direction.INPUT + assert pin_false.value == False + assert pin_false.value == False # Test subsequent call does not change value + pin_false.deinit() + + +def test_Dx_INPUT_TOGGLE(): + """Test digital input pin Dx_INPUT_TOGGLE""" + assert board.board_id == "GENERIC_AGNOSTIC_BOARD" + pin_toggle = digitalio.DigitalInOut(board.Dx_INPUT_TOGGLE) + pin_toggle.direction = digitalio.Direction.INPUT + assert pin_toggle.value == True + assert ( + pin_toggle.value == False + ) # Test subsequent call does change value for this pin + pin_toggle.deinit()