Content-Length: 2985 | pFad | http://github.com/TheAlgorithms/JavaScript/pull/1628.patch
thub.com
From e69ee1be6dfe963929c81b828346d79c98adebeb Mon Sep 17 00:00:00 2001
From: Piotr Idzik
Date: Sat, 2 Mar 2024 21:50:16 +0000
Subject: [PATCH] fix: `throw` form `DateToDay`
---
Conversions/DateToDay.js | 4 +--
Conversions/test/DateToDay.test.js | 53 +++++++++++++-----------------
2 files changed, 25 insertions(+), 32 deletions(-)
diff --git a/Conversions/DateToDay.js b/Conversions/DateToDay.js
index 378489e50e..f360c9c737 100644
--- a/Conversions/DateToDay.js
+++ b/Conversions/DateToDay.js
@@ -26,13 +26,13 @@ const daysNameArr = [
const DateToDay = (date) => {
// firstly, check that input is a string or not.
if (typeof date !== 'string') {
- return new TypeError('Argument is not a string.')
+ throw new TypeError('Argument is not a string.')
}
// extract the date
let [day, month, year] = date.split('/').map((x) => Number(x))
// check the data are valid or not.
if (day < 1 || day > 31 || month > 12 || month < 1) {
- return new TypeError('Date is not valid.')
+ throw new TypeError('Date is not valid.')
}
// In case of Jan and Feb:
diff --git a/Conversions/test/DateToDay.test.js b/Conversions/test/DateToDay.test.js
index f0809821db..38b63d33da 100644
--- a/Conversions/test/DateToDay.test.js
+++ b/Conversions/test/DateToDay.test.js
@@ -1,35 +1,28 @@
import { DateToDay } from '../DateToDay'
-test('The date 18/02/2001 is Sunday', () => {
- const res = DateToDay('18/02/2001')
- expect(res).toBe('Sunday')
-})
-
-test('The date 18/12/2020 is Friday', () => {
- const res = DateToDay('18/12/2020')
- expect(res).toBe('Friday')
-})
+describe('DateToDay', () => {
+ it.each([
+ ['18/02/2001', 'Sunday'],
+ ['18/12/2020', 'Friday'],
+ ['12/12/2012', 'Wednesday'],
+ ['01/01/2001', 'Monday'],
+ ['1/1/2020', 'Wednesday'],
+ ['2/3/2014', 'Sunday'],
+ ['28/2/2017', 'Tuesday'],
+ ['02/03/2024', 'Saturday'],
+ ['29/02/2024', 'Thursday']
+ ])('%s is %s', (date, day) => {
+ expect(DateToDay(date)).toBe(day)
+ })
-test('The date 12/12/2012 is Wednesday', () => {
- const res = DateToDay('12/12/2012')
- expect(res).toBe('Wednesday')
-})
-test('The date 01/01/2001 is Monday', () => {
- const res = DateToDay('01/01/2001')
- expect(res).toBe('Monday')
-})
-
-test('The date 1/1/2020 is Wednesday', () => {
- const res = DateToDay('1/1/2020')
- expect(res).toBe('Wednesday')
-})
-
-test('The date 2/3/2014 is Sunday', () => {
- const res = DateToDay('2/3/2014')
- expect(res).toBe('Sunday')
-})
+ it('should throw when input is not a string', () => {
+ expect(() => DateToDay(100)).toThrowError()
+ })
-test('The date 28/2/2017 is Tuesday', () => {
- const res = DateToDay('28/2/2017')
- expect(res).toBe('Tuesday')
+ it.each(['32/01/2000', '00/01/2000', '15/00/2000', '15/13/2000'])(
+ 'should throw when input is not a correct date %s',
+ (wrongDate) => {
+ expect(() => DateToDay(wrongDate)).toThrowError()
+ }
+ )
})
--- a PPN by Garber Painting Akron. With Image Size Reduction included!Fetched URL: http://github.com/TheAlgorithms/JavaScript/pull/1628.patch
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy