Add elisp/two-fer
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
# Two Fer
|
||||
|
||||
`Two-fer` or `2-fer` is short for two for one. One for you and one for me.
|
||||
|
||||
```text
|
||||
"One for X, one for me."
|
||||
```
|
||||
|
||||
When X is a name or "you".
|
||||
|
||||
If the given name is "Alice", the result should be "One for Alice, one for me."
|
||||
If no name is given, the result should be "One for you, one for me."
|
||||
|
||||
## Source
|
||||
|
||||
[https://en.wikipedia.org/wiki/Two-fer](https://en.wikipedia.org/wiki/Two-fer)
|
||||
|
||||
## Submitting Incomplete Solutions
|
||||
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
||||
@@ -0,0 +1,21 @@
|
||||
;;; two-fer-test.el --- Tests for Two-fer (exercism)
|
||||
|
||||
;;; Commentary:
|
||||
;; Common test data version: 1.2.0 4fc1acb
|
||||
|
||||
;;; Code:
|
||||
|
||||
(load-file "two-fer.el")
|
||||
|
||||
(ert-deftest no-name-given ()
|
||||
(should (equal (two-fer) "One for you, one for me.")))
|
||||
|
||||
(ert-deftest a-name-given ()
|
||||
(should (equal (two-fer "Alice") "One for Alice, one for me.")))
|
||||
|
||||
(ert-deftest another-name-given ()
|
||||
(should (equal (two-fer "Bob") "One for Bob, one for me.")))
|
||||
|
||||
(provide 'two-fer-test)
|
||||
|
||||
;;; two-fer-test.el ends here
|
||||
@@ -0,0 +1,15 @@
|
||||
;;; two-fer.el --- Two-fer Exercise (exercism)
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
(provide 'two-fer)
|
||||
|
||||
(defun two-fer(&optional name)
|
||||
"Return a twofer phrase as a formatted string.
|
||||
NAME, if provided, is used to specify the first recipient;
|
||||
it defaults to 'you'."
|
||||
(if (not name) (setq name "you"))
|
||||
(format "One for %s, one for me." name))
|
||||
;;; two-fer.el ends here
|
||||
Reference in New Issue
Block a user