Skip to content

Instantly share code, notes, and snippets.

@LosantGists
LosantGists / batteryloss.py
Created July 23, 2021 19:25
Automating Unit Tests Blog (8) 7.23.21
def get_rows_before_charging(df):
df['battery_loss_next_row'] = df['battery'] - df['battery'].shift(-1)
df['is_low_before_charge'] = df['battery_loss_next_row'] < 0
return df[df['is_low_before_charge']]
@LosantGists
LosantGists / batteryhistory.py
Created July 23, 2021 19:25
Automating Unit Tests Blog (7) 7.23.21
# it should return an empty DataFrame if the battery was never recharged
df_descending_only = build_battery_history([100,70,40,20])
assert len( get_rows_before_charging(df_descending_only) ) == 0
@LosantGists
LosantGists / batteryfile.py
Last active July 29, 2021 15:22
Automating Unit Tests Blog (5) 7.23.21
import os
BATTERY_DATA_FILE = "battery-state-reports-last-30-days.csv"
df = pd.read_csv(os.path.join(os.getcwd(), BATTERY_DATA_FILE))
df.dtypes
@LosantGists
LosantGists / descendingonly.py
Created July 23, 2021 19:18
Automating Unit Tests Blog (4) 7.23.21
# it should return an empty DataFrame if the battery was never recharged
df_descending_only = # ???
assert len( get_rows_before_charging(df_descending_only) ) == 0
@LosantGists
LosantGists / a-importlib.py
Last active July 27, 2021 17:50
Automating Unit Tests Blog (3) 7.23.21
import pandas as pd
import importlib
@LosantGists
LosantGists / getbeforecharging.py
Created July 23, 2021 19:14
Automating Unit Tests Blog (2) 7.23.21
def get_rows_before_charging(df):
return df
@LosantGists
LosantGists / buildbattery.py
Last active July 23, 2021 19:16
Automating Unit Tests (6) 7.23.21
def build_battery_history(values, device_id="60df87b4be3fc900069dac1f", start_time=1600000000000):
id_array = [device_id] * len(values)
timestamp_array = map(lambda t: start_time + t * 10000, range(len(values)))
return pd.DataFrame({
"ID": pd.Series(id_array),
"battery": pd.Series(values, dtype="int64"),
"Timestamp": pd.Series(timestamp_array, dtype="int64")
})
@LosantGists
LosantGists / a-importpanda.py
Last active July 27, 2021 17:51
Automating Unit Tests Blog 7.23.21
import pandas as pd
import os
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WIFI_SSID"
scan_ssid=1
psk="WIFI_PASSWORD"
key_mgmt=WPA-PSK
}
const data = [
{"location":"39.108314,-84.50959","isMoving":"1", "bearing":"SW","refrigeratorTemp":"35","freezerTemp":"2”},
{"location":"39.107442,-84.50956","isMoving":"1", "bearing":"SSE","refrigeratorTemp":"38","freezerTemp":"5”},
{"location":"39.106,-84.509303","isMoving":"1", "bearing":"SSE","refrigeratorTemp":"36","freezerTemp":"1},
{"location":"39.105279,-84.508983","isMoving":"1", "bearing":"SSE","refrigeratorTemp":"35","freezerTemp":"-7”},
{"location":"39.104119,-84.508712","isMoving":"1", "bearing":"SSE","refrigeratorTemp":"40","freezerTemp":"-9”},
.
.
.
.