US Congress Stock Trading API examples & templates
Use these vals as a playground to view and fork US Congress Stock Trading API examples and templates on Val Town. Run any example below or find templates that can be used as a pre-built solution.
willthereader
Work_Time_Calculator
Script
function testConvertTo24HourFormat() { console.assert(convertTo24HourFormat("10:18am") === "10:18", `Test failed for "10:18am"`);
console.assert(convertTo24HourFormat("12:35pm") === "12:35", `Test failed for "12:35pm"`);
console.assert(convertTo24HourFormat("1:25pm") === "13:25", `Test failed for "1:25pm"`);
console.assert(convertTo24HourFormat("12:00am") === "00:00", `Test failed for "12:00am"`);
console.assert(convertTo24HourFormat("12:00pm") === "12:00", `Test failed for "12:00pm"`);
console.assert(convertTo24HourFormat("11:59pm") === "23:59", `Test failed for "11:59pm"`);
console.assert(convertTo24HourFormat("00:00am") === "00:00", `Test failed for "00:00am"`);
console.assert(convertTo24HourFormat("12:01am") === "00:01", `Test failed for "12:01am"`);
console.log("All tests for convertTo24HourFormat passed!");
}
function testParseTimeRanges() {
const result1 = parseTimeRanges("10:18am-12:35pm lunch 1:25pm-6:38pm");
console.assert(result1.length === 2, `Test failed for length of result1`);
console.assert(result1[0].start === "10:18am", `Test failed for result1 first start time`);
console.assert(result1[0].end === "12:35pm", `Test failed for result1 first end time`);
console.assert(result1[1].start === "1:25pm", `Test failed for result1 second start time`);
console.assert(result1[1].end === "6:38pm", `Test failed for result1 second end time`);
const result2 = parseTimeRanges("8:41am-1:13pm lunch 1:58pm-2:24pm 2:33pm-5:01pm");
console.assert(result2.length === 3, `Test failed for length of result2`);
console.assert(result2[0].start === "8:41am", `Test failed for result2 first start time`);
console.assert(result2[0].end === "1:13pm", `Test failed for result2 first end time`);
console.assert(result2[1].start === "1:58pm", `Test failed for result2 second start time`);
console.assert(result2[1].end === "2:24pm", `Test failed for result2 second end time`);
console.assert(result2[2].start === "2:33pm", `Test failed for result2 third start time`);
console.assert(result2[2].end === "5:01pm", `Test failed for result2 third end time`);
const result3 = parseTimeRanges("10:19am-12:56pm lunch 1:56pm-3:54pm");
console.assert(result3.length === 2, `Test failed for length of result3`);
console.assert(result3[0].start === "10:19am", `Test failed for result3 first start time`);
console.assert(result3[0].end === "12:56pm", `Test failed for result3 first end time`);
console.assert(result3[1].start === "1:56pm", `Test failed for result3 second start time`);
console.assert(result3[1].end === "3:54pm", `Test failed for result3 second end time`);
console.log("All tests for parseTimeRanges passed!");
}
function testCalculateDuration() {
const duration1 = calculateDuration("10:18am", "12:35pm");
console.assert(duration1.hours === 2 && duration1.minutes === 17, `Test failed for duration 10:18am-12:35pm`);
const duration2 = calculateDuration("1:25pm", "6:38pm");
console.assert(duration2.hours === 5 && duration2.minutes === 13, `Test failed for duration 1:25pm-6:38pm`);
const duration3 = calculateDuration("8:30pm", "9:04pm");
console.assert(duration3.hours === 0 && duration3.minutes === 34, `Test failed for duration 8:30pm-9:04pm`);
const duration4 = calculateDuration("11:30pm", "12:30am");
console.assert(duration4.hours === 1 && duration4.minutes === 0, `Test failed for duration 11:30pm-12:30am`);
console.log("All tests for calculateDuration passed!");
}
function testCalculateDailyTotal() {
const parsedSchedule1 = [
{ start: "10:18am", end: "12:35pm" },
{ start: "1:25pm", end: "6:38pm" },
];
const dailyTotal1 = calculateDailyTotal(parsedSchedule1);
console.assert(dailyTotal1.hours === 7 && dailyTotal1.minutes === 30, `Test failed for daily total calculation 1`);
const parsedSchedule2 = [
{ start: "8:41am", end: "1:13pm" },
{ start: "1:58pm", end: "2:24pm" },
{ start: "2:33pm", end: "5:01pm" },
];
const dailyTotal2 = calculateDailyTotal(parsedSchedule2);
console.assert(dailyTotal2.hours === 7 && dailyTotal2.minutes === 26, `Test failed for daily total calculation 2`);
console.log("All tests for calculateDailyTotal passed!");
}
function testCalculateWeeklyTotal() {
const dailyTotals = [
{ hours: 7, minutes: 30 },
{ hours: 6, minutes: 52 },
{ hours: 7, minutes: 26 },
{ hours: 5, minutes: 35 },
{ hours: 7, minutes: 28 },
];
const weeklyTotal = calculateWeeklyTotal(dailyTotals);
console.assert(weeklyTotal.hours === 34 && weeklyTotal.minutes === 51, `Test failed for weekly total calculation`);
console.log("All tests for calculateWeeklyTotal passed!");
}
function runTests() {
try {
testConvertTo24HourFormat();
testParseTimeRanges();
testCalculateDuration();
testCalculateDailyTotal();
testCalculateWeeklyTotal();
console.log("All tests passed! Your code is perfect.");
} catch (error) {
console.error("Some tests failed. Please review the errors above.");
}
}
runTests();
0