def test_valid_inputs(self):
     duration = 3
     weekly_interest_rate = Decimal('0.05')
     principal = Decimal('1000.00')
     repayment = get_weekly_repayment_amount(principal,
                                             weekly_interest_rate, duration)
     reporter = GenericDiffReporterFactory().get('meld')
     verify(str(repayment), reporter=reporter)
class TestSelectReporter(unittest.TestCase):
    def setUp(self):
        self.factory = GenericDiffReporterFactory()

    def test_simple(self):
        verify("Hello",
               options=Options().with_reporter(
                   self.factory.get("BeyondCompare")))
Beispiel #3
0
def test_simple_scenario():
    log = []
    commands = [
        "r Approval testing",
        "a Measure coverage",
        "2",
        "a Build simple test",
        "3",
        "c",
    ]
    io = DummyIO(commands, log)
    db_name = ":memory:"
    goals = load(db_name, update_message)
    loop(io, goals, db_name)
    verify("\n".join(log),
           reporter=GenericDiffReporterFactory().get_first_working())
Beispiel #4
0
def test_dot_export():
    goals = build_goaltree(
        open_(1, "Root", [2, 3, 4, 5], blockers=[6]),
        clos_(
            2,
            "This is closed goal with no children or blockers. "
            "It also has a long name that must be compacted",
        ),
        open_(3, 'I have some "special" symbols', [6, 7], select=selected),
        clos_(4, ""),
        open_(5, "Many blockerz", blockers=[2, 4, 6, 7]),
        clos_(6, "!@#$%^&*()\\/,.?"),
        open_(7, ";:[{}]<>", select=previous),
    )
    verify(dot_export(goals),
           reporter=GenericDiffReporterFactory().get_first_working())
 def test_input_combinations_for_positive_interest_rates(self):
     principals = (
         Decimal('100.00'),
         Decimal('2000.00'),
         Decimal('3000.00'),
     )
     interest_rates = (
         Decimal('0.01'),
         Decimal('0.05'),
         Decimal('0.1'),
     )
     durations = (0, 1, 2, 3, 4, 5, 10, 20, 31, 52, 53)
     reporter = GenericDiffReporterFactory().get('meld')
     verify_all_combinations(get_weekly_repayment_amount,
                             input_arguments=(principals, interest_rates,
                                              durations),
                             reporter=reporter)
Beispiel #6
0
    def run_management_view_test(self, browser, data, temp_dir):
        dashboard = DashBoardPage(browser).open()
        take_screenshot(browser, "dashboard")

        management_view_tab = dashboard.select_management_view_tab()
        take_screenshot(browser, "Management_View_tab_before_search")

        management_view_tab.set_date(data.date)
        management_view_tab = dashboard.select_management_view_tab()

        take_screenshot(browser, "Management_View_tab__after_search")

        management_view_tab.download_csv_1_long()

        actual_file = path.realpath(path.join(temp_dir, "management-report.csv"))
        wait_until_file_exists(actual_file)
        self.reporter = GenericDiffReporterFactory().get_first_working()
        verify_file(actual_file)
Beispiel #7
0
    def run_position_test(self, browser, data, temp_dir, grid_number):

        dashboard = DashBoardPage(browser).open()
        take_screenshot(browser, "dashboard")

        position_tab = dashboard.select_position_tab()
        take_screenshot(browser,
                        str(grid_number) + " grid. position_tab_before_search")

        position_tab.clear()

        position_tab.set_date(data.date)

        if len(data.transits) == 1 and data.transits[0] == 'all':
            position_tab.select_all_transits()
        else:
            for transit in data.transits:
                position_tab.select_transit(transit)

        if data.book != "":
            position_tab.select_book(data.book)

        if data.parallel_mode.lower() == 'true':
            position_tab.select_parallel_mode()

        dashboard.search_long()

        take_screenshot(browser,
                        str(grid_number) + " grid. position_tab__after_search")

        if grid_number == 2:
            position_tab.load_second_grid()

        position_tab.unpivot_grid(grid_number)

        if grid_number == 1:
            position_tab.download_csv_1()
        elif grid_number == 2:
            position_tab.download_csv_2()

        actual_file = path.realpath(path.join(temp_dir, "export.csv"))
        wait_until_file_exists(actual_file)
        self.reporter = GenericDiffReporterFactory().get_first_working()
        verify_file(actual_file)
Beispiel #8
0
def test_complex_scenario():
    log = []
    commands = [
        "r Cover all current features",
        "a Filter view",
        "a Toggle show open/closed goals",
        "a Toggle show goal progress",
        "a Toggle show switchable goals",
        "a Toggle zoom and unzoom",
        "2",
        "h",
        "6",
        "l",
        "2",
        "z",
        "2",
        "c",
        "z",
        "f Toggle",
        "n",
        "2",
        "c",
        "f",
        "p",
        "t",
        "n",
        "t",
        "4",
        "c",
        "2",
        "c",
        "p",
        "c",
        # exit
        "q",
    ]
    io = DummyIO(commands, log)
    db_name = ":memory:"
    goals = load(db_name, update_message)
    loop(io, goals, db_name)
    verify("\n".join(log),
           reporter=GenericDiffReporterFactory().get_first_working())
Beispiel #9
0
def test_render_example():
    g = build_goaltree(
        open_(1, "Root", [2, 3, 4, 5, 6], [7, 8]),
        clos_(2, "Closed", blockers=[7]),
        open_(3, "Simply 3", blockers=[5, 8]),
        open_(4, "Also 4", blockers=[5, 6, 7, 8], select=selected),
        open_(5, "Now 5", blockers=[6]),
        clos_(6, "Same 6", blockers=[7]),
        clos_(7, "Lucky 7", [8], select=previous),
        clos_(8, "Finally 8"),
    )
    r = Renderer(g)
    result = r.build()
    gp = FakeGeometry()
    adjust_graph(result, gp)
    lines = render_lines(gp, result)
    with io.StringIO() as out:
        print("== Graph\n", file=out)
        pprint(result.graph, out)
        print("\n== Geometry change after adjust\n", file=out)
        total_delta = Point(0, 0)
        for goal_id in g.goals:
            goal = result.graph[goal_id]
            delta = gp.top_left(goal["row"], goal["col"]) - Point(
                goal["x"], goal["y"])
            total_delta += delta
            print(f"{goal_id}: dx={delta.x}, dy={delta.y}", file=out)
        avg_dx = total_delta.x // len(g.goals)
        avg_dy = total_delta.y // len(g.goals)
        print(f"Avg: dx={avg_dx}, dy={avg_dy}", file=out)
        print("\n== Edge options\n", file=out)
        pprint(result.edge_opts, out)
        print("\n== Lines", file=out)
        pprint(lines, out)
        verify(out.getvalue(),
               reporter=GenericDiffReporterFactory().get_first_working())
Beispiel #10
0
def pytest_configure(config):
    factory = GenericDiffReporterFactory()

    if config.option.approvaltests_custom_reporter:
        args_str = config.option.approvaltests_custom_reporter_args
        if args_str:
            args = args_str.split(',')
        else:
            args = []
        custom_reporter_name = "Custom"
        reporter_config = [
            custom_reporter_name, config.option.approvaltests_custom_reporter,
            args
        ]
        factory.add_default_reporter_config(reporter_config)
        reporter = factory.get(custom_reporter_name)
    else:
        reporter = factory.get(config.option.approvaltests_reporter)

    approvaltests.set_default_reporter(reporter)
def test_fallback_reporter():
    factory = GenericDiffReporterFactory()
    fallback_reporter = factory.get("PythonNative")
    assert fallback_reporter.is_working()
Beispiel #12
0
def test_difftool_path_with_spaces(testdir):
    from pytest_approvaltests import create_reporter
    from approvaltests.reporters import GenericDiffReporterFactory
    factory = GenericDiffReporterFactory()
    reporter = create_reporter(factory, "/path with spaces/to/difftool", [])
    assert reporter.path == "/path with spaces/to/difftool"
Beispiel #13
0
 def setUp(self):
     self.reporter = GenericDiffReporterFactory().get_first_working()
Beispiel #14
0
import os

from approvaltests.reporters import GenericDiffReporterFactory

diff_merge_reporter = GenericDiffReporterFactory().get("DiffMerge")


def set_home_directory() -> None:
    current_dir = os.getcwd().replace('\\', '/')
    if current_dir.endswith('ApprovalTests.cpp/ApprovalTests'):
        return
    source_dir = os.path.split(__file__)[0]
    library_dir = os.path.join(source_dir, "../../ApprovalTests")
    os.chdir(library_dir)
def reporter():
    cur_dir = Path(__file__).parent.absolute()
    reporter_json = cur_dir / ".." / "approvals_reporters.json"
    factory = GenericDiffReporterFactory()
    factory.load(reporter_json.absolute())
    return factory.get_first_working()
Beispiel #16
0
 def test_format(self):
     received_string = 'Hello {}'.format('World!')
     reporter = GenericDiffReporterFactory().get('meld')
     verify(received_string, reporter)
import os

from approvaltests import verify
from approvaltests.reporters import GenericDiffReporterFactory

from approvaltests.reporters.python_native_reporter import *

factory = GenericDiffReporterFactory()


def test_files_identical(tmpdir):
    file1 = os.path.join(str(tmpdir), "a.received.txt")
    file2 = os.path.join(str(tmpdir), "b.approved.txt")
    identical_contents = "abc"
    with open(file1, "w") as f1:
        f1.write(identical_contents)
    with open(file2, "w") as f2:
        f2.write(identical_contents)
    verify(calculate_diff(file1, file2), reporter=factory.get("PythonNative"))


def test_files_differ(tmpdir):
    file1 = os.path.join(str(tmpdir), "a.received.txt")
    file2 = os.path.join(str(tmpdir), "b.approved.txt")
    with open(file1, "w") as f1:
        f1.write("abc")
    with open(file2, "w") as f2:
        f2.write("def")
    diff = calculate_diff(file1, file2)
    diff = diff.replace(str(tmpdir), "tmpdir")
 def setUp(self):
     self.factory = GenericDiffReporterFactory()
class TestSelectReporter(unittest.TestCase):
    def setUp(self):
        self.factory = GenericDiffReporterFactory()

    def test_simple(self):
        verify('Hello', self.factory.get('BeyondCompare4'))
Beispiel #20
0
 def test_different_ways_of_creating_reporter(self):
     reporter1 = GenericDiffReporterFactory().get('BeyondCompare')
     reporter2 = ReportWithBeyondCompare()
     reporter3 = report_with_beyond_compare()
     assert reporter1 == reporter2 == reporter3