# Path: test/repos/fizzbuzz_service/fizzbuzz_service/checkers/fizz/fizz_checker.py
# def should_fizz(number):
# 
# Path: test/repos/fizzbuzz_service/fizzbuzz_service/checkers/buzz/buzz_checker.py
# def should_buzz(number):
# 
# Path: test/repos/fizzbuzz_service/fizzbuzz_service/checkers/fizzbuzz/fizzbuzz_checker.py
# def should_fizzbuzz(number):


from enum import Enum
from ..checkers.fizz import fizz_checker
from ..checkers.buzz import buzz_checker
from ..checkers.fizzbuzz import fizzbuzz_checker

class OutputDecision(Enum):
    '''Convenient enum representing a particular output for a number'''
    NUMBER = 1
    FIZZ = 2
    BUZZ = 3
    FIZZBUZZ = 4

def decide_output_for_number(number):
    '''Decides the output for a given number'''
    if fizzbuzz_checker.should_fizzbuzz(number):
        return OutputDecision.FIZZBUZZ
    

# Path: test/repos/fizzbuzz_service/fizzbuzz_service/checkers/fizz/fizz_checker.py
# def should_fizz(number):
# 
# Path: test/repos/fizzbuzz_service/fizzbuzz_service/checkers/buzz/buzz_checker.py
# def should_buzz(number):
# 
# Path: test/repos/fizzbuzz_service/fizzbuzz_service/checkers/fizzbuzz/fizzbuzz_checker.py
# def should_fizzbuzz(number):


# Path: test/repos/fizzbuzz_service/fizzbuzz_service/string_deciders/number_decision.py
from enum import Enum
from ..checkers.fizz import fizz_checker
from ..checkers.buzz import buzz_checker
from ..checkers.fizzbuzz import fizzbuzz_checker


class OutputDecision(Enum):
    '''Convenient enum representing a particular output for a number'''
    NUMBER = 1
    FIZZ = 2
    BUZZ = 3
    FIZZBUZZ = 4

def decide_output_for_number(number):
    '''Decides the output for a given number'''
    if fizzbuzz_checker.should_fizzbuzz(number):
        return OutputDecision.FIZZBUZZ
    

    if fizz_checker.should_fizz(number):