def test_can_substract_1_and_1(self):
     view_model = ViewModel()
     view_model.set_first_fraction('1')
     view_model.set_second_fraction('1')
     view_model.set_operation('-')
     view_model.click_convert()
     self.assertEqual('0/1', view_model.get_msg_text())
 def test_can_divide_2_3_and_3_2(self):
     view_model = ViewModel()
     view_model.set_first_fraction('2/3')
     view_model.set_second_fraction('3/2')
     view_model.set_operation('/')
     view_model.click_convert()
     self.assertEqual('4/9', view_model.get_msg_text())
 def test_can_multiply_2_3_and_2_3(self):
     view_model = ViewModel()
     view_model.set_first_fraction('2/3')
     view_model.set_second_fraction('2/3')
     view_model.set_operation('*')
     view_model.click_convert()
     self.assertEqual('4/9', view_model.get_msg_text())
 def test_cannot_divide_by_0(self):
     view_model = ViewModel()
     view_model.set_first_fraction('2/3')
     view_model.set_second_fraction('0')
     view_model.set_operation('/')
     view_model.click_convert()
     self.assertEqual('Error! Cannot divide by zero!',
                      view_model.get_msg_text())
 def test_when_selected_continuous_then_plus_second_text_is_enabled(self):
     view_model = ViewModel()
     view_model.set_first_fraction('2/3')
     view_model.set_operation('Convert to continuous')
     view_model.set_operation('+')
     self.assertEqual('normal',
                      view_model.get_second_fraction_text_state())
Beispiel #6
0
    def index():
        user: User = current_user
        readonly = (not login_disabled) and user.get_role() == UserRole.Reader
        items = get_items(collection)

        return render_template('index.html',
                               view_model=ViewModel(items, readonly))
Beispiel #7
0
def view_model():
    return ViewModel(
        [
            Item('to-do-id','To Do','Task 1',datetime.now()),
            Item('done-id','Done','Task 2',datetime.now()),
        ],
        False
    )
    def test_can_retrieve_fractions_text(self):
        view_model = ViewModel()
        view_model.set_first_fraction('1')
        view_model.set_second_fraction('1')
        actual_fraction_1 = view_model.get_first_fraction()
        actual_fraction_2 = view_model.get_second_fraction()

        self.assertEqual('1', actual_fraction_1)
        self.assertEqual('1', actual_fraction_2)
Beispiel #9
0
def test_show_done_items_if_less_than_5(to_do_item, done_item):
    view_model = ViewModel(
       [
            done_item,
            done_item,
            done_item,
            done_item
        ],
        False
    )
    assert view_model.show_all_done_items
Beispiel #10
0
def test_show_done_items_is_5_or_more(to_do_item, done_item):
    view_model = ViewModel(
        [
            done_item,
            done_item,
            done_item,
            done_item,
            done_item
        ],
        False
    )
    assert not view_model.show_all_done_items
Beispiel #11
0
 def setUp(self):
     self.view_model = ViewModel(FakeLogger())
Beispiel #12
0
class TestFractionCalculatorViewModel(unittest.TestCase):
    def setUp(self):
        self.view_model = ViewModel(FakeLogger())

    def test_by_default_button_disabled(self):
        self.assertEqual('disabled',
                         self.view_model.get_button_convert_state())

    def test_when_entered_both_fractions_button_enabled(self):
        self.view_model.set_first_fraction('1')
        self.view_model.set_second_fraction('1')
        self.assertNotEqual('disabled',
                            self.view_model.get_button_convert_state())

    def test_can_retrieve_fractions_text(self):
        self.view_model.set_first_fraction('1')
        self.view_model.set_second_fraction('1')
        actual_fraction_1 = self.view_model.get_first_fraction()
        actual_fraction_2 = self.view_model.get_second_fraction()

        self.assertEqual('1', actual_fraction_1)
        self.assertEqual('1', actual_fraction_2)

    def test_when_entered_both_fractions_then_clear_one_button_disabled(self):
        self.view_model.set_first_fraction('1')
        self.view_model.set_second_fraction('1')
        self.view_model.set_first_fraction('')
        self.assertEqual('disabled',
                         self.view_model.get_button_convert_state())

    def test_when_entered_not_frac_button_disabled(self):
        self.view_model.set_first_fraction('1')
        self.view_model.set_second_fraction('1a')
        self.assertEqual('disabled',
                         self.view_model.get_button_convert_state())

    def test_can_add_1_and_1(self):
        self.view_model.set_first_fraction('1')
        self.view_model.set_second_fraction('1')
        self.view_model.click_convert()
        self.assertEqual('2/1', self.view_model.get_msg_text())

    def test_can_substract_1_and_1(self):
        self.view_model.set_first_fraction('1')
        self.view_model.set_second_fraction('1')
        self.view_model.set_operation('-')
        self.view_model.click_convert()
        self.assertEqual('0/1', self.view_model.get_msg_text())

    def test_can_divide_2_3_and_3_2(self):
        self.view_model.set_first_fraction('2/3')
        self.view_model.set_second_fraction('3/2')
        self.view_model.set_operation('/')
        self.view_model.click_convert()
        self.assertEqual('4/9', self.view_model.get_msg_text())

    def test_cannot_divide_by_0(self):
        self.view_model.set_first_fraction('2/3')
        self.view_model.set_second_fraction('0')
        self.view_model.set_operation('/')
        self.view_model.click_convert()
        self.assertEqual('Error! Cannot divide by zero!',
                         self.view_model.get_msg_text())

    def test_can_multiply_2_3_and_2_3(self):
        self.view_model.set_first_fraction('2/3')
        self.view_model.set_second_fraction('2/3')
        self.view_model.set_operation('*')
        self.view_model.click_convert()
        self.assertEqual('4/9', self.view_model.get_msg_text())

    def test_by_default_second_text_is_enabled(self):
        self.assertEqual('normal',
                         self.view_model.get_second_fraction_text_state())

    def test_when_selected_continuous_second_text_is_disabled(self):
        self.view_model.set_first_fraction('2/3')
        self.view_model.set_operation('Convert to continuous')
        self.assertEqual('disabled',
                         self.view_model.get_second_fraction_text_state())

    def test_when_selected_continuous_then_plus_second_text_is_enabled(self):
        self.view_model.set_first_fraction('2/3')
        self.view_model.set_operation('Convert to continuous')
        self.view_model.set_operation('+')
        self.assertEqual('normal',
                         self.view_model.get_second_fraction_text_state())

    def test_can_convert_1_to_continuous(self):
        self.view_model.set_first_fraction('1')
        self.view_model.set_operation('Convert to continuous')
        self.view_model.click_convert()
        self.assertEqual(str([1]), self.view_model.get_msg_text())

    def test_can_convert_2_to_continuous(self):
        self.view_model.set_first_fraction('2/3')
        self.view_model.set_operation('Convert to continuous')
        self.view_model.click_convert()
        self.assertEqual(str([0, 1, 2]), self.view_model.get_msg_text())
Beispiel #13
0
 def setUp(self):
     self.view_model = ViewModel(RealLogger())
Beispiel #14
0
class TestViewModelFakeLogging(unittest.TestCase):
    def setUp(self):
        self.view_model = ViewModel(FakeLogger())

    def test_logging_init(self):
        self.assertEqual('Welcome!', self.view_model.logger.get_last_message())

    def test_logging_changing_first_fraction(self):
        self.view_model.set_first_fraction('2/3')
        self.assertEqual('Setting first fraction to 2/3',
                         self.view_model.logger.get_last_message())

    def test_logging_changing_second_fraction(self):
        self.view_model.set_second_fraction('2/3')
        self.assertEqual('Setting second fraction to 2/3',
                         self.view_model.logger.get_last_message())

    def test_logging_changing_operation(self):
        self.view_model.set_second_fraction('2/3')
        self.view_model.set_operation('Convert to continuous')
        self.assertEqual('Setting operation to: Convert to continuous',
                         self.view_model.logger.get_last_message())

    def test_logging_performing_operation(self):
        expected_messages = [
            'Button clicked', 'Selected operation is *', 'Result: 4/9'
        ]

        self.view_model.set_first_fraction('2/3')
        self.view_model.set_second_fraction('2/3')
        self.view_model.set_operation('*')
        self.view_model.click_convert()

        self.assertEqual(expected_messages,
                         self.view_model.logger.get_log_messages()[-3:])
from viewmodel import ViewModel
import dateutil.parser
import pytest
from card import Card
from datetime import datetime

vm = ViewModel(["some todo items"], ["some doing items"], ["some done items"])
today_mock = dateutil.parser.parse('2020-09-02 00:16:26.061713')

def test_todo_items():
    assert vm.todo_items == ["some todo items"]

def test_doing_items():
    assert vm.doing_items == ["some doing items"]

def test_done_items():
    assert vm.done_items == ["some done items"]

@pytest.mark.parametrize("last_modified", ['2020-09-02 12:16:26.061713', '2020-09-02 00:00:00.0'])
def test_same_date(last_modified):
    assert vm.same_date(last_modified, today_mock)

@pytest.mark.parametrize("last_modified", ['2020-09-01 12:16:26.061713', '2020-09-03 00:00:00.0'])
def test_not_same_date(last_modified):
    assert not vm.same_date(last_modified, today_mock)

@pytest.mark.parametrize("last_modified", ['2020-08-30 12:16:26.061713', '2019-10-03 12:16:26.061713'])
def test_older_date(last_modified):
    assert vm.older_date(last_modified, today_mock)

@pytest.mark.parametrize("last_modified", ['2020-09-02 12:16:26.061713', '2020-09-03 12:16:26.061713'])
Beispiel #16
0
 def index():
     items = mongoDB.get_items(collection, board_id)
     item_view_model = ViewModel(items[0], items[1], items[2])
     return render_template('index.html', view_model=item_view_model)
class TestForViewModel(unittest.TestCase):

    def setUp(self):
        self.view_model = ViewModel()

    def test_check_number_or_rows_in_init(self):
        self.assertEqual(self.view_model.get_number_of_rows(), 3)

    def test_check_init_matrix_by_zero_values(self):
        self.assertEqual(self.view_model.get_matrix_as_list(), [[0]*3]*3)

    def test_check_init_matrix_by_non_zero_values(self):
        content = [[2, 1, 2], [0, 3, 0], [3, 1, 1]]
        self.view_model.update_matrix_content(content)
        self.assertEqual(self.view_model.get_matrix_as_list(), [[2, 1, 2], [0, 3, 0], [3, 1, 1]])

    def test_get_number_of_rows(self):
        self.view_model.set_number_of_rows(4)
        self.assertEqual(self.view_model.get_number_of_rows(), 4)

    def test_change_matrix_rank(self):
        self.view_model.set_number_of_rows(4)
        self.assertEqual(self.view_model.init_zero_matrix_with_new_rank_value(), [[0]*4]*4)

    def test_calculate_determinant(self):
        content = [[2, 1, 2], [0, 3, 0], [3, 1, 1]]
        self.view_model.update_matrix_content(content)
        self.assertEqual(self.view_model.calculate_determinant(), -12)

    def test_set_answer(self):
        answer_str = '1'
        self.view_model.set_answer(answer_str)
        self.assertEqual(self.view_model.answer, answer_str)

    def test_check_correct_answer(self):
        content = [[2, 1, 2], [0, 3, 0], [3, 1, 1]]
        self.view_model.update_matrix_content(content)
        self.view_model.calculate_determinant()
        self.assertEqual(self.view_model.answer, -12)
 def test_can_convert_1_to_continuous(self):
     view_model = ViewModel()
     view_model.set_first_fraction('1')
     view_model.set_operation('Convert to continuous')
     view_model.click_convert()
     self.assertEqual(str([1]), view_model.get_msg_text())
 def setUp(self):
     self.view_model = ViewModel()
 def test_by_default_second_text_is_enabled(self):
     view_model = ViewModel()
     self.assertEqual('normal', view_model.get_second_fraction_text_state())
 def test_when_entered_not_frac_button_disabled(self):
     view_model = ViewModel()
     view_model.set_first_fraction('1')
     view_model.set_second_fraction('1a')
     self.assertEqual('disabled', view_model.get_button_convert_state())
 def test_by_default_button_disabled(self):
     view_model = ViewModel()
     self.assertEqual('disabled', view_model.get_button_convert_state())