def test_lambda_multiple_calls(self):
        # SETUP
        expected_report = "('a', 'b' => 'ab') | (1, 2 => 3)"
        min_line = max_line = 1

        # EXEC
        builder = ReportBuilder()
        list(
            map(
                lambda x, y: builder.report_lambda(min_line, max_line, x, y, x
                                                   + y), ['a', 1], ['b', 2]))
        report = builder.report()

        # VERIFY
        self.assertReportEqual(expected_report, report)
    def test_lambda(self):
        # SETUP
        expected_report = '(23 => 24)'
        min_line = max_line = 1

        # EXEC
        builder = ReportBuilder()
        y = list(
            map(lambda x: builder.report_lambda(min_line, max_line, x, x + 1),
                [23]))
        report = builder.report()

        # VERIFY
        self.assertReportEqual(expected_report, report)
        self.assertEqual([24], y)
    def test_lambda_multiple_params(self):
        # SETUP
        expected_report = "('a', 'b' => 'ab')"
        min_line = max_line = 1

        # EXEC
        builder = ReportBuilder()
        z = list(
            map(
                lambda x, y: builder.report_lambda(min_line, max_line, x, y, x
                                                   + y), ['a'], ['b']))
        report = builder.report()

        # VERIFY
        self.assertReportEqual(expected_report, report)
        self.assertEqual(['ab'], z)