From bad6f11845d35fd9ce1363f0fd5b1f26bf11100b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 21 Apr 2024 21:40:45 -0700 Subject: [PATCH 1/4] Sync acronym tests --- exercises/practice/acronym/.meta/example.el | 2 +- exercises/practice/acronym/acronym-test.el | 20 +++++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/exercises/practice/acronym/.meta/example.el b/exercises/practice/acronym/.meta/example.el index b38cf7b3..83241be0 100644 --- a/exercises/practice/acronym/.meta/example.el +++ b/exercises/practice/acronym/.meta/example.el @@ -7,7 +7,7 @@ (require 'cl-lib) (defun acronym (input) - (let ((words (split-string input "\\W+"))) + (let ((words (split-string (string-replace "'" "" input) "\\W+"))) (mapconcat (lambda (word) (upcase (substring word 0 1))) words ""))) (provide 'acronym) diff --git a/exercises/practice/acronym/acronym-test.el b/exercises/practice/acronym/acronym-test.el index aa9678bc..67cc80a7 100644 --- a/exercises/practice/acronym/acronym-test.el +++ b/exercises/practice/acronym/acronym-test.el @@ -16,14 +16,24 @@ (ert-deftest punctuation () (should (equal "FIFO" (acronym "First In, First Out")))) -(ert-deftest all-caps-words () - (should (equal "PHP" (acronym "PHP: Hypertext Preprocessor")))) - -(ert-deftest non-acronym-all-caps-word () +(ert-deftest all-caps-word () (should (equal "GIMP" (acronym "GNU Image Manipulation Program")))) -(ert-deftest hyphenated () +(ert-deftest punctuation-without-white-space () (should (equal "CMOS" (acronym "Complementary metal-oxide semiconductor")))) +(ert-deftest very-long-abbreviation () + (should (equal "ROTFLSHTMDCOALM" + (acronym "Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me")))) + +(ert-deftest consecutive-delimiters () + (should (equal "SIMUFTA" (acronym "Something - I made up from thin air")))) + +(ert-deftest apostrophes () + (should (equal "HC" (acronym "Halley's Comet")))) + +(ert-deftest underscore-emphasis () + (should (equal "TRNT" (acronym "The Road _Not_ Taken")))) + (provide 'acronym-test) ;;; acronym-test.el ends here From 8466ff6e5ac2c39e6ade5418fca95e7c94778f7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Sun, 21 Apr 2024 23:02:01 -0700 Subject: [PATCH 2/4] Apply consistent formatting and string= --- exercises/practice/acronym/acronym-test.el | 29 +++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/exercises/practice/acronym/acronym-test.el b/exercises/practice/acronym/acronym-test.el index 67cc80a7..e14c6fb2 100644 --- a/exercises/practice/acronym/acronym-test.el +++ b/exercises/practice/acronym/acronym-test.el @@ -4,36 +4,47 @@ ;;; Code + (load-file "acronym.el") (declare-function acronym "acronym.el" (phrase)) + (ert-deftest basic () - (should (equal "PNG" (acronym "Portable Network Graphics")))) + (should (string= "PNG" (acronym "Portable Network Graphics")))) + (ert-deftest lowercase-words () - (should (equal "ROR" (acronym "Ruby on Rails")))) + (should (string= "ROR" (acronym "Ruby on Rails")))) + (ert-deftest punctuation () - (should (equal "FIFO" (acronym "First In, First Out")))) + (should (string= "FIFO" (acronym "First In, First Out")))) + (ert-deftest all-caps-word () - (should (equal "GIMP" (acronym "GNU Image Manipulation Program")))) + (should (string= "GIMP" (acronym "GNU Image Manipulation Program")))) + (ert-deftest punctuation-without-white-space () - (should (equal "CMOS" (acronym "Complementary metal-oxide semiconductor")))) + (should (string= "CMOS" (acronym "Complementary metal-oxide semiconductor")))) + (ert-deftest very-long-abbreviation () - (should (equal "ROTFLSHTMDCOALM" + (should (string= "ROTFLSHTMDCOALM" (acronym "Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me")))) + (ert-deftest consecutive-delimiters () - (should (equal "SIMUFTA" (acronym "Something - I made up from thin air")))) + (should (string= "SIMUFTA" (acronym "Something - I made up from thin air")))) + (ert-deftest apostrophes () - (should (equal "HC" (acronym "Halley's Comet")))) + (should (string= "HC" (acronym "Halley's Comet")))) + (ert-deftest underscore-emphasis () - (should (equal "TRNT" (acronym "The Road _Not_ Taken")))) + (should (string= "TRNT" (acronym "The Road _Not_ Taken")))) + (provide 'acronym-test) ;;; acronym-test.el ends here From 69ed1556672776c5158caf2fe143a8dfb2c0977a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 22 Apr 2024 15:38:49 -0700 Subject: [PATCH 3/4] Apply formatting to stub and tests --- exercises/practice/acronym/acronym-test.el | 2 +- exercises/practice/acronym/acronym.el | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/exercises/practice/acronym/acronym-test.el b/exercises/practice/acronym/acronym-test.el index e14c6fb2..ab4bd5f7 100644 --- a/exercises/practice/acronym/acronym-test.el +++ b/exercises/practice/acronym/acronym-test.el @@ -31,7 +31,7 @@ (ert-deftest very-long-abbreviation () (should (string= "ROTFLSHTMDCOALM" - (acronym "Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me")))) + (acronym "Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me")))) (ert-deftest consecutive-delimiters () diff --git a/exercises/practice/acronym/acronym.el b/exercises/practice/acronym/acronym.el index d6216c4f..f04d7115 100644 --- a/exercises/practice/acronym/acronym.el +++ b/exercises/practice/acronym/acronym.el @@ -2,9 +2,11 @@ ;;; Commentary: -(defun acronym (phrase) ;;; Code: -) + + +(defun acronym (phrase) + (error "Delete this S-Expression and write your own implementation")) (provide 'acronym) ;;; acronym.el ends here From 9fceafea0ee715c6bc0da3470861d6558860cd2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?= <20251272+BNAndras@users.noreply.github.com> Date: Mon, 22 Apr 2024 16:20:27 -0700 Subject: [PATCH 4/4] Swap result vs. expected --- exercises/practice/acronym/acronym-test.el | 26 +++++++++++++--------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/exercises/practice/acronym/acronym-test.el b/exercises/practice/acronym/acronym-test.el index ab4bd5f7..b9b98b7e 100644 --- a/exercises/practice/acronym/acronym-test.el +++ b/exercises/practice/acronym/acronym-test.el @@ -10,40 +10,46 @@ (ert-deftest basic () - (should (string= "PNG" (acronym "Portable Network Graphics")))) + (should (string= (acronym "Portable Network Graphics") + "PNG"))) (ert-deftest lowercase-words () - (should (string= "ROR" (acronym "Ruby on Rails")))) + (should (string= (acronym "Ruby on Rails") + "ROR"))) (ert-deftest punctuation () - (should (string= "FIFO" (acronym "First In, First Out")))) + (should (string= (acronym "First In, First Out") + "FIFO"))) (ert-deftest all-caps-word () - (should (string= "GIMP" (acronym "GNU Image Manipulation Program")))) + (should (string= (acronym "GNU Image Manipulation Program") + "GIMP"))) (ert-deftest punctuation-without-white-space () - (should (string= "CMOS" (acronym "Complementary metal-oxide semiconductor")))) + (should (string= (acronym "Complementary metal-oxide semiconductor") + "CMOS"))) (ert-deftest very-long-abbreviation () - (should (string= "ROTFLSHTMDCOALM" - (acronym "Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me")))) + (should (string= (acronym "Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me") + "ROTFLSHTMDCOALM"))) (ert-deftest consecutive-delimiters () - (should (string= "SIMUFTA" (acronym "Something - I made up from thin air")))) + (should (string= (acronym "Something - I made up from thin air") + "SIMUFTA"))) (ert-deftest apostrophes () - (should (string= "HC" (acronym "Halley's Comet")))) + (should (string= (acronym "Halley's Comet") "HC"))) (ert-deftest underscore-emphasis () - (should (string= "TRNT" (acronym "The Road _Not_ Taken")))) + (should (string= (acronym "The Road _Not_ Taken") "TRNT"))) (provide 'acronym-test)