Behave Test Case for Even/Odd Number Check

  • Share this:

Code introduction


This code defines a Behave test case function to check if a given number is even or odd. It uses a custom function `is_even_or_odd` to determine the parity of the number, and in the test steps, `setup_number`, `check_number`, and `verify_result` are used to set up the test environment, execute the test, and verify the result.


Technology Stack : Behave, random, assert

Code Type : Behave test case function

Code Difficulty : Intermediate


                
                    
import random
from behave import given, when, then

# Function to generate a random integer within a range
def generate_random_integer(min_value, max_value):
    return random.randint(min_value, max_value)

# Function to check if a given number is even or odd
def is_even_or_odd(number):
    return "even" if number % 2 == 0 else "odd"

# Behavior function for checking if a number is even or odd
@given('a number {number}')
def setup_number(context, number):
    context.number = int(number)

@when('the number is checked')
def check_number(context):
    context.result = is_even_or_odd(context.number)

@then('the result should be "{expected}"')
def verify_result(context, expected):
    assert context.result == expected, f"Expected {expected}, but got {context.result}"

# Example usage:
# def test_number_evenness():
#     setup_number(4)
#     check_number()
#     verify_result("even")