Пример #1
0
 def it_errors_out_if_with_invalid_week_end_date(spark):
     df = spark.create_df(
         [
             (datetime.datetime(2020, 1, 2), datetime.datetime(
                 2019, 12, 29)),
         ],
         [("some_date", DateType(), True), ("expected", DateType(), True)],
     )
     with pytest.raises(ValueError) as excinfo:
         df.withColumn("week_start_date",
                       quinn.week_end_date(F.col("some_date"), "Friday"))
     assert (
         excinfo.value.args[0] ==
         "The day you entered 'Friday' is not valid.  Here are the valid days: [Mon,Tue,Wed,Thu,Fri,Sat,Sun]"
     )
Пример #2
0
 def it_defaults_to_saturday_week_end(spark):
     df = spark.create_df(
         [
             # converts a Tuesday to the Saturday after
             (datetime.datetime(2020, 1, 2), datetime.datetime(2020, 1, 4)),
             # converts a Wednesday to the Saturday after
             (datetime.datetime(2020, 7, 15), datetime.datetime(
                 2020, 7, 18)),
             # doesn't change if the day is Saturday
             (datetime.datetime(2020, 7, 25), datetime.datetime(
                 2020, 7, 25)),
             (None, None),
         ],
         [("some_date", DateType(), True), ("expected", DateType(), True)],
     )
     actual_df = df.withColumn("week_start_date",
                               quinn.week_end_date(F.col("some_date")))
     chispa.assert_column_equality(actual_df, "week_start_date", "expected")
Пример #3
0
 def it_works_with_end_date_of_sunday(spark):
     df = spark.create_df(
         [
             # converts a Thursday to the Sunday after
             (datetime.datetime(2020, 1, 2), datetime.datetime(2020, 1, 5)),
             # converts a Wednesday to the Sunday after
             (datetime.datetime(2020, 7, 15), datetime.datetime(
                 2020, 7, 19)),
             # doesn't change if the day in a Sunday
             (datetime.datetime(2020, 7, 19), datetime.datetime(
                 2020, 7, 19)),
             (None, None),
         ],
         [("some_date", DateType(), True), ("expected", DateType(), True)],
     )
     actual_df = df.withColumn(
         "week_start_date", quinn.week_end_date(F.col("some_date"), "Sun"))
     chispa.assert_column_equality(actual_df, "week_start_date", "expected")