def test_create_report_added(self): """Tests mailroom.create_report after adding donors.""" mailroom.add_donation("Name3", 23) correct = "Donor Name | Total Given | Num Gifts | Average Gift\n" + \ "------------------------------------------------------------------\n" + \ "Name3 $ 23.00 1 $ 23.00\n" + \ "Name2 $ 3.00 2 $ 1.50\n" + \ "Name1 $ 1.00 1 $ 1.00" self.assertEqual(correct, mailroom.create_report()) mailroom.add_donation("Name3", 3) correct = "Donor Name | Total Given | Num Gifts | Average Gift\n" + \ "------------------------------------------------------------------\n" + \ "Name3 $ 26.00 2 $ 13.00\n" + \ "Name2 $ 3.00 2 $ 1.50\n" + \ "Name1 $ 1.00 1 $ 1.00" self.assertEqual(correct, mailroom.create_report()) mailroom.add_donation("Name1", 50) correct = "Donor Name | Total Given | Num Gifts | Average Gift\n" + \ "------------------------------------------------------------------\n" + \ "Name1 $ 51.00 2 $ 25.50\n" + \ "Name3 $ 26.00 2 $ 13.00\n" + \ "Name2 $ 3.00 2 $ 1.50" self.assertEqual(correct, mailroom.create_report())
def test_create_report(self): interceptor, hold_stdout = intercept_stdout() mailroom.create_report() assert interceptor.getvalue().strip() == expected_report sys.stdout == hold_stdout
def test_create_report(): capturedOutput = io.StringIO() # Create StringIO object sys.stdout = capturedOutput # and redirect stdout. mailroom.create_report(mailroom.donor_db) # Call function. sys.stdout = sys.__stdout__ # Reset redirect. report_text = capturedOutput.getvalue() print(report_text) # Now works as before. assert report_text == '''Donor Name | Total Given | Num Gifts | Average Gift
def test_create_report(capsys): m.create_report() expected_1 = 'Donor Name | Total Given | Num Gifts | Average Gift\n' expected_2 = '-------------------------------------------------------------------\n' expected_3 = 'Robert Wickens $ 9000.10 1 $ 9000.10\n' expected = expected_1 + expected_2 + expected_3 report_input = [[1369.80, 'Adam Jones', 3, 456.60]] m.write_report(report_input) out, err = capsys.readouterr() assert out.startswith(expected)
def test_create_report_sorted(): assert create_report() == [ 'LeBron James,6609558.50,4,1652389.62', 'Bill Gates,4040233.25,3,1346744.42', 'Jimmy Kimmel,1002495.96,5,200499.19', 'Angelina Jolie,6.47,2,3.24', 'The Great Leader of the Azerothian people,3.47,1,3.47' ]
def test_create_report(donor_list, result): """ test the create_report function uses the same parameter list as the test_creates_table_for_report function """ from mailroom import create_report assert create_report(donor_list) == result
def test_create_report(): # add a new donor and check that they are in report mailroom.add_new_donation('New Donor', 23.00) report = mailroom.create_report() assert ('New Donor', 23.0, 1, 23.0) in report # verify average donation assert report[0][1] / report[0][2] == report[0][3]
def test_create_report(): # add a new donor and check that they are in report mailroom.add_new_donation('New Donor', 23.00) report = mailroom.create_report() assert ('New Donor', 23.0, 1, 23.0) in report # verify average donation assert report[0][1]/report[0][2] == report[0][3]
def test_create_report(): assert create_report().strip() == ( "Donor Name | Total Given | Num Gifts | Average Gift\n" "-------------------------------------------------------------\n" "Bill Ted | $ 726.63 | 3 | $ 242.21\n" "Lisa Grant | $ 209.70 | 2 | $ 104.85\n" "Frank Fred | $ 178.76 | 3 | $ 59.59\n" "Steve Lincoln | $ 165.28 | 2 | $ 82.64\n" "Laura Todd | $ 5.75 | 1 | $ 5.75" )
def test_create_report_baseline(self): """Tests mailroom.create_report with baseline donors""" # Baseline report report = mailroom.create_report() correct = "Donor Name | Total Given | Num Gifts | Average Gift\n" + \ "------------------------------------------------------------------\n" + \ "Name2 $ 3.00 2 $ 1.50\n" + \ "Name1 $ 1.00 1 $ 1.00" self.assertEqual(report, correct)
def test_create_report(): report = \ f'Donor Name | Total Given |Num Gifts |Average Gift \n\ ------------------------------------------------------------------------------------------\n\ Scott Newman $ 5100.0 2 $ 2550.0\n\ Jeff Hansen $ 600.0 2 $ 300.0\n\ Rabi Das $ 1450.0 2 $ 725.0\n\ Jan Balard $ 850.0 2 $ 425.0\n\ Joe McHennry $ 3000.0 2 $ 1500.0\n' assert mailroom.create_report() == report
def flow_control(usr_action): """ handles logic and controls which functions are called based on user input. {Extended description} Parameters: usr_action (string): currently two strings: ty|cr Returns: {none} """ ua = usr_action.lower() if ua == "ty": response_2 = input( "Please enter a name.\n-type 'list' to view a list of donors\n-type in a " "new a new donor name to add to list > ") mailroom.create_ty_letter(response_2) elif ua == "cr": mailroom.create_report()
def test_create_report(): """Test the create_report function for accurate rerport data creation.""" report_data = mail.create_report() assert any(item == ('Arnold Schwarzenegger', 100000, 1, 100000 / 1) for item in report_data) assert any(item == ('Lebron James', 1000000, 1, 1000000 / 1) for item in report_data) assert any(item == ('Elon Musk', 2000000, 1, 2000000 / 1) for item in report_data) assert any(item == ('Walter White', 500000, 1, 500000 / 1) for item in report_data) assert any(item == ('Gordon Ramsay', 1280000, 1, 1280000 / 1) for item in report_data) assert any(item == ('Alexander Boone', 1000, 1, 1000 / 1) for item in report_data)
def test_create_report(): table_list = list() table_list.append( "Donor Name | Total Given | Num Gifts | Average Gift") table_list.append( "------------------------------------------------------------------") table_list.append( "Becky $ 55500.00 3 $ 18500.00") table_list.append( "Sally $ 44400.00 3 $ 14800.00") table_list.append( "Todd $ 33300.00 3 $ 11100.00") table_list.append( "Bob $ 22200.00 3 $ 7400.00") table_list.append( "Fred $ 11100.00 3 $ 3700.00") assert mailroom.create_report() == table_list
def test_create_report(): """ Test the mailroom create_report function """ m.donors.clear() m.record_donation("Bob Smith", 1234.56) m.record_donation("Bob Smith", 1234.56) m.record_donation("Bob Smith", 1234.56) m.record_donation("Sally Jones", 876.54) m.record_donation("Sally Jones", 876.54) m.record_donation("Sally Jones", 876.54) m.record_donation("Sally Jones", 876.54) report_text = m.create_report() assert "Bob Smith" in report_text assert "1234.56" in report_text # Bob's average assert "3703.68" in report_text # Bob's total assert "Sally Jones" in report_text assert "876.54" in report_text # Sally's average assert "3506.16" in report_text # Sally's total
def test_create_report(): """Test the create report function""" text_string = mailroom.create_report() reference_text = "Paul Allen $ 708.42 3 \ $ 236.14" assert text_string.split("\n")[-2] == reference_text
def test_create_report_function_runs(): """Test that create_report() function runs by running True .""" from mailroom import create_report assert create_report()
def test_create_report(): from mailroom import create_report assert create_report() is True
def test_donation_amounts_in_create_report(donation): """Test if donation is in create_report().""" from mailroom import create_report out = create_report() assert out.find(donation)
def test_avg_donation_in_create_report(check): """Test if the average amount in create_report().""" from mailroom import create_report out = create_report() assert out.find(check)
def test_display_report(): report = create_report() assert create_report() == report
def test_create_report(donors): """Test that the create_report contains the correct sums at least.""" with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: mailroom.create_report(donors) assert "6" in mock_stdout.getvalue() assert "12" in mock_stdout.getvalue()