Example #1
0
def check_saturated_total(actual):
  expected = '''[START saturated_total]
('πŸ₯•', 5)
('πŸ†', 1)
('πŸ…', 8)
[END saturated_total]'''.splitlines()[1:-1]
  assert_matches_stdout(actual, expected)
Example #2
0
def check_bounded_total(actual):
  expected = '''[START bounded_total]
('πŸ₯•', 5)
('πŸ†', 2)
('πŸ…', 8)
[END bounded_total]'''.splitlines()[1:-1]
  assert_matches_stdout(actual, expected)
Example #3
0
def check_largest_elements_per_key(actual):
    expected = '''[START largest_elements_per_key]
('πŸ₯•', [3, 2])
('πŸ†', [1])
('πŸ…', [5, 4])
[END largest_elements_per_key]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #4
0
def check_unique_elements(actual):
  expected = '''[START unique_elements]
πŸ₯•
πŸ†
πŸ…
[END unique_elements]'''.splitlines()[1:-1]
  assert_matches_stdout(actual, expected)
Example #5
0
def check_smallest_elements_per_key(actual):
    expected = '''[START smallest_elements_per_key]
('πŸ₯•', [2, 3])
('πŸ†', [1])
('πŸ…', [3, 4])
[END smallest_elements_per_key]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #6
0
def check_perennials(actual):
    expected = '''[START perennials]
{'icon': 'πŸ“', 'name': 'Strawberry', 'duration': 'perennial'}
{'icon': 'πŸ†', 'name': 'Eggplant', 'duration': 'perennial'}
{'icon': 'πŸ₯”', 'name': 'Potato', 'duration': 'perennial'}
[END perennials]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #7
0
 def test_assert_matches_stdout_object(self):
     expected = [
         "{'a': 'πŸ“', 'b': True}",
         "{'a': 'πŸ₯•', 'b': 42}",
         "{'a': 'πŸ†', 'b': '\"hello\"'}",
         "{'a': 'πŸ…', 'b': [1, 2, 3]}",
         "{'b': 'B', 'a': 'πŸ₯”'}",
     ]
     with TestPipeline() as pipeline:
         actual = (pipeline
                   | beam.Create([
                       {
                           'a': 'πŸ“',
                           'b': True
                       },
                       {
                           'a': 'πŸ₯•',
                           'b': 42
                       },
                       {
                           'a': 'πŸ†',
                           'b': '"hello"'
                       },
                       {
                           'a': 'πŸ…',
                           'b': [1, 2, 3]
                       },
                       {
                           'a': 'πŸ₯”',
                           'b': 'B'
                       },
                   ])
                   | beam.Map(str))
         util.assert_matches_stdout(actual, expected)
Example #8
0
 def test_assert_matches_stdout_string(self):
     expected = ['πŸ“', 'πŸ₯•', 'πŸ†', 'πŸ…', 'πŸ₯”']
     with TestPipeline() as pipeline:
         actual = (pipeline
                   | beam.Create(['πŸ“', 'πŸ₯•', 'πŸ†', 'πŸ…', 'πŸ₯”'])
                   | beam.Map(str))
         util.assert_matches_stdout(actual, expected)
Example #9
0
def check_elements_with_min_value_per_key(actual):
    expected = '''[START elements_with_min_value_per_key]
('πŸ₯•', 2)
('πŸ†', 1)
('πŸ…', 3)
[END elements_with_min_value_per_key]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #10
0
def check_average(actual):
  expected = '''[START average]
('πŸ₯•', 2.5)
('πŸ†', 1.0)
('πŸ…', 4.0)
[END average]'''.splitlines()[1:-1]
  assert_matches_stdout(actual, expected)
Example #11
0
def check_totals_per_key(actual):
  expected = '''[START totals_per_key]
('πŸ₯•', 5)
('πŸ†', 1)
('πŸ…', 12)
[END totals_per_key]'''.splitlines()[1:-1]
  assert_matches_stdout(actual, expected)
def check_percentages_per_season(actual):
  expected = '''[START percentages_per_season]
('spring', {'πŸ₯•': 0.4, 'πŸ…': 0.4, 'πŸ†': 0.2})
('summer', {'πŸ₯•': 0.2, 'πŸ…': 0.6, '🌽': 0.2})
('fall', {'πŸ₯•': 0.5, 'πŸ…': 0.5})
('winter', {'πŸ†': 1.0})
[END percentages_per_season]'''.splitlines()[1:-1]
  assert_matches_stdout(actual, expected)
Example #13
0
def check_valid_plants(actual):
    expected = '''[START valid_plants]
{'icon': 'πŸ“', 'name': 'Strawberry', 'duration': 'perennial'}
{'icon': 'πŸ₯•', 'name': 'Carrot', 'duration': 'biennial'}
{'icon': 'πŸ†', 'name': 'Eggplant', 'duration': 'perennial'}
{'icon': 'πŸ…', 'name': 'Tomato', 'duration': 'annual'}
[END valid_plants]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #14
0
def check_latest_elements_per_key(actual):
    expected = '''[START latest_elements_per_key]
('spring', 'πŸ₯•')
('summer', 'πŸ…')
('autumn', 'πŸ†')
('winter', 'πŸ₯¬')
[END latest_elements_per_key]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #15
0
def check_total_elements_per_key(actual):
    expected = '''[START total_elements_per_key]
('spring', 4)
('summer', 3)
('fall', 2)
('winter', 1)
[END total_elements_per_key]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #16
0
def check_shortest_elements_per_key(actual):
    expected = '''[START shortest_elements_per_key]
('spring', ['πŸ₯• Carrot', 'πŸ“ Strawberry'])
('summer', ['🌽 Corn', 'πŸ₯• Carrot'])
('fall', ['πŸ₯• Carrot', '🍏 Green apple'])
('winter', ['πŸ† Eggplant'])
[END shortest_elements_per_key]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #17
0
def check_all_matches(actual):
    expected = '''[START plants_all_matches]
['πŸ“, Strawberry, perennial', 'πŸ“', 'Strawberry', 'perennial']
['πŸ₯•, Carrot, biennial', 'πŸ₯•', 'Carrot', 'biennial']
['πŸ†, Eggplant, perennial', 'πŸ†', 'Eggplant', 'perennial']
['πŸ…, Tomato, annual', 'πŸ…', 'Tomato', 'annual']
['πŸ₯”, Potato, perennial', 'πŸ₯”', 'Potato', 'perennial']
[END plants_all_matches]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #18
0
def check_plants_csv(actual):
    expected = '''[START plants_csv]
πŸ“,Strawberry,perennial
πŸ₯•,Carrot,biennial
πŸ†,Eggplant,perennial
πŸ…,Tomato,annual
πŸ₯”,Potato,perennial
[END plants_csv]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #19
0
def check_plant_lists(actual):
    expected = '''[START plant_lists]
['πŸ“', 'Strawberry', 'perennial']
['πŸ₯•', 'Carrot', 'biennial']
['πŸ†', 'Eggplant', 'perennial']
['πŸ…', 'Tomato', 'annual']
['πŸ₯”', 'Potato', 'perennial']
[END plant_lists]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #20
0
def check_plants(actual):
    expected = '''[START plants]
πŸ“,Strawberry
πŸ₯•,Carrot
πŸ†,Eggplant
πŸ…,Tomato
πŸ₯”,Potato
[END plants]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #21
0
def check_plant_timestamps(actual):
    expected = '''[START plant_timestamps]
2020-04-01 00:00:00 - Strawberry
2020-06-01 00:00:00 - Carrot
2020-03-01 00:00:00 - Artichoke
2020-05-01 00:00:00 - Tomato
2020-09-01 00:00:00 - Potato
[END plant_timestamps]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #22
0
def check_total_unique_elements(actual):
    expected = '''[START total_unique_elements]
('πŸ“', 1)
('πŸ₯•', 3)
('πŸ†', 2)
('πŸ…', 3)
('🌽', 1)
[END total_unique_elements]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #23
0
def check_plant_events(actual):
    expected = '''[START plant_events]
1 - Strawberry
4 - Carrot
2 - Artichoke
3 - Tomato
5 - Potato
[END plant_events]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #24
0
def check_samples_per_key(actual):
  expected = '''[START samples_per_key]
('spring', ['πŸ“', 'πŸ₯•', 'πŸ†'])
('summer', ['πŸ₯•', 'πŸ…', '🌽'])
('fall', ['πŸ₯•', 'πŸ…'])
('winter', ['πŸ†'])
[END samples_per_key]'''.splitlines()[1:-1]
  # The sampled elements are non-deterministic, so check the sample size.
  assert_matches_stdout(actual, expected, lambda pair: (pair[0], len(pair[1])))
Example #25
0
def check_plants(actual):
    expected = '''[START plants]
Strawberry
Carrot
Eggplant
Tomato
Potato
[END plants]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #26
0
def check_icons(actual):
  expected = '''[START icons]
πŸ“
πŸ₯•
πŸ†
πŸ…
πŸ₯”
[END icons]'''.splitlines()[1:-1]
  assert_matches_stdout(actual, expected)
Example #27
0
def check_find_all(actual):
    expected = '''[START plants_find_all]
['πŸ“, Strawberry, perennial']
['πŸ₯•, Carrot, biennial']
['πŸ†, Eggplant, perennial', '🍌, Banana, perennial']
['πŸ…, Tomato, annual', 'πŸ‰, Watermelon, annual']
['πŸ₯”, Potato, perennial']
[END plants_find_all]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #28
0
def check_matches_kv(actual):
    expected = '''[START plants_matches_kv]
('πŸ“', 'πŸ“, Strawberry, perennial')
('πŸ₯•', 'πŸ₯•, Carrot, biennial')
('πŸ†', 'πŸ†, Eggplant, perennial')
('πŸ…', 'πŸ…, Tomato, annual')
('πŸ₯”', 'πŸ₯”, Potato, perennial')
[END plants_matches_kv]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #29
0
def check_plants(actual):
    expected = '''[START plants]
('Strawberry', 'πŸ“')
('Carrot', 'πŸ₯•')
('Eggplant', 'πŸ†')
('Tomato', 'πŸ…')
('Potato', 'πŸ₯”')
[END plants]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)
Example #30
0
def check_replace_first(actual):
    expected = '''[START plants_replace_first]
πŸ“: Strawberry, perennial
πŸ₯•: Carrot, biennial
πŸ†: Eggplant, perennial
πŸ…: Tomato, annual
πŸ₯”: Potato, perennial
[END plants_replace_first]'''.splitlines()[1:-1]
    assert_matches_stdout(actual, expected)