예제 #1
0
def min_max_for_all():
    """Logic for sending min/max mail"""
    config = get_config()

    for recipient in config['recipients']:
        for transaction in recipient['transactions']:

            print('\n' + '-' * 50 + '\n')

            sv = StockValue(symbol=transaction['symbol'], config=config)
            bankier = sv.get_bankier()
            current_value, bankier_time = sv.get_values(bankier)

            hm = HistoryManager()
            global_min = hm.get_min(transaction['symbol'],
                                    recipient['address'])
            global_max = hm.get_max(transaction['symbol'],
                                    recipient['address'])

            calculator = Calculator(transaction['buy_quantity'],
                                    transaction['buy_price'],
                                    transaction['buy_quantity'], current_value)
            if transaction['min_max_mail'] == 'yes':
                prepare_min_max_email(recipient['address'],
                                      transaction['symbol'], current_value,
                                      global_min, global_max, config,
                                      calculator)
            hm.update_history(current_value, transaction['symbol'],
                              recipient['address'], bankier_time, now())
 def test_calculator_add_method_returns_correct_result(self):
     """
     Method to test add function from calculator.py
     """
     calc = Calculator()
     result = calc.add(2, 2)
     self.assertEqual(4, result)
예제 #3
0
def calculate(
    calculation_data: schemas.CalculationCreate,
) -> Any:
    """
    Calculate price with discount and state taxes
    """
    return Calculator(
        quantity=calculation_data.quantity,
        price_per_item=calculation_data.price_per_item,
        state=calculation_data.state
    ).execute()
예제 #4
0
def test_calculator(quantity, price_per_item, state, discount,
                    price_with_discount, tax, state_tax, final_price) -> None:
    price_per_item = Decimal(price_per_item)
    expected_calculation = Calculation(
        quantity=quantity,
        price_per_item=price_per_item,
        state=state,
        discount=discount,
        price_with_discount=price_with_discount,
        tax=tax,
        state_tax=state_tax,
        final_price=final_price,
    )
    calculation = Calculator(quantity=quantity,
                             price_per_item=price_per_item,
                             state=state).execute()
    assert expected_calculation == calculation
예제 #5
0
def regular_for_all():
    config = get_config()
    print("dupes")

    for recipient in config['recipients']:
        if recipient['daily_mail'].lower() == 'yes':
            stocks_to_send = {}
            calculators = []
            for transaction in recipient['transactions']:
                sv = StockValue(symbol=transaction['symbol'], config=config)
                bankier = sv.get_bankier()
                current_value, bankier_time = sv.get_values(bankier)
                stocks_to_send[transaction['symbol']] = current_value
                calculators.append(
                    Calculator(transaction['buy_quantity'],
                               transaction['buy_price'],
                               transaction['buy_quantity'], current_value))
            prepare_daily_email(recipient['address'], stocks_to_send,
                                calculators, config)
예제 #6
0
 def test_calculator_add_method_returns_correct_result(self):
     calc = Calculator()
     result = calc.add(2, 2)
     self.assertEqual(4, result)
 def setUp(self):
     """Function sets up hooks up our calculator to variable calc"""
     self.calc = Calculator()
예제 #8
0
 def setup(self):
     self.calc = Calculator(15, 0)
예제 #9
0
class Test(unittest.TestCase):
    """ 
        Basic Unittest Class which test addition, subtraction, multiplication 
        and division functions in calculator program by generating random numbers 
        between 10 and 100000 and applying respective functions
    """

    calculator_object = Calculator()
    
    def test_add(self):
        print("Testing Addition \n")
        for _ in range(5):
            num1 = random.randint(10,100000)
            num2 = random.randint(10,100000)
            answer = num1 + num2
            self.calculator_object.set_numbers(num1,num2)
            result= self.calculator_object.add()
            print(f"{num1} + {num2}:\tCalculated answer= {answer:<25} \tModule answer= {result:<25}")
            self.assertEqual(result, answer)

        print("\n Test Finished\n")

    def test_sub(self):
        print("Testing Subtraction \n")
        for _ in range(5):
            num1 = random.randint(10,100000)
            num2 = random.randint(10,100000)
            answer = num1 - num2
            self.calculator_object.set_numbers(num1,num2)
            result= self.calculator_object.sub()
            print(f"{num1} - {num2}:\tCalculated answer= {answer:<25} \tModule answer= {result:<25}")
            self.assertEqual(result, answer)

        print("\n Test Finished\n")
    
    def test_mul(self):
        print("Testing Multiplication \n")
        for _ in range(5):
            num1 = random.randint(10,100000)
            num2 = random.randint(10,100000)
            answer = num1 * num2
            self.calculator_object.set_numbers(num1,num2)
            result= self.calculator_object.mul()
            print(f"{num1} * {num2}:\tCalculated answer= {answer:<25} \tModule answer= {result:<25}")
            self.assertEqual(result, answer)

        print("\n Test finished\n")
    
    def test_div(self):
        print("Testing Division \n")
        for _ in range(5):
            num1 = random.randint(10,100000)
            num2 = random.randint(10,100000)
            answer = num1 / num2
            self.calculator_object.set_numbers(num1,num2)
            result= self.calculator_object.div()
            print(f"{num1} / {num2}:\tCalculated answer= {answer:<25} \tModule answer= {result:<25}")
            self.assertEqual(result, answer)

        try:
            print("\nTesting ZeroDivisionError\n")
            num1 = random.randint(10,100000)
            self.calculator_object.set_numbers(num1,0)
            result= self.calculator_object.div()
            print(f"{num1} / {0}:\tHandled error= {result}")
        except Exception:
            self.fail('\nunexpected exception raised')

        print("\n Test finished\n")
예제 #10
0
# @author: João Gabriel Cardoso
# @github: github.com/joaogabrielrc

import tkinter as tk

# Internal Module
from app.calculator import Calculator

if __name__ == "__main__":
    # Creating the window
    window = tk.Tk()
    calculator = Calculator(window)

    # Starting the calculator
    calculator.start()
예제 #11
0
 def setUp(self):
     """The setUp Method put things in place before each test case."""
     self.calc = Calculator()
예제 #12
0
 def test_subtract(self):
     calc = Calculator()
     result = calc.subtract(4, 2)
     self.assertEqual(2, result)
예제 #13
0
 def setUp(self):
     """
         Create a instance to class Calculator
     """
     self.calc = Calculator()
예제 #14
0
 def test_calculator_prodUsingAdd_method_returns_correct_result(self):
     calc = Calculator()
     result = calc.prodUsingAdd(5, 4)
     self.assertEqual(20, result)
예제 #15
0
 def test_calculator_div_method_returns_correct_result(self):
     calc = Calculator()
     result = calc.div(2, 2)
     self.assertEqual(1, result)
예제 #16
0
 def test_calculator_sub_method_returns_correct_result(self):
     calc = Calculator()
     result = calc.sub(2, 2)
     self.assertEqual(0, result)
예제 #17
0
def select_calc(step):
    print('Attempting to use calculator...')
    world.calc = Calculator()
예제 #18
0
 def test_divide(self):
     calc = Calculator()
     result = calc.divide(4, 2)
     self.assertEqual(2, result)
예제 #19
0
 def setUp(self):
     self.calc = Calculator()
 def test_multiply_by_zero(self):
     calc = Calculator()
     result = calc.multiply(4, 0)
     self.assertEqual(0, result)
예제 #21
0
 def test_multiply(self):
     calc = Calculator()
     result = calc.multiply(4, 2)
     self.assertEqual(8, result)
예제 #22
0
def calculator():
    return Calculator()
예제 #23
0
 def test_add(self):
     calc = Calculator()
     result = calc.add(2, 2)
     self.assertEqual(4, result)
def setup():
	global calc
	calc = Calculator()