From be2a7a751edb86c033bd017633211b87c0a278c0 Mon Sep 17 00:00:00 2001 From: Yvan Sraka Date: Tue, 31 May 2016 15:48:55 +0200 Subject: [PATCH 1/4] Update README.md --- README.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 2b3b5a5..71142aa 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,5 @@ ["Hello, World!"](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program) is the traditional first program for beginning programming in a new language. -**Note:** You can skip this exercise by running: - - exercism skip $LANGUAGE hello-world - ## Specification The `Hello World!` program will greet me, the caller. @@ -16,7 +12,7 @@ If I neglect to give it my name, it will greet me by saying "Hello, World!" As programmers mature, they eventually want to test their code. -Here at Exercism we simulate [Test-Driven Development](http://en.wikipedia.org/wiki/Test-driven_development) (TDD), where you write your tests before writing any functionality. The simulation comes in the form of a pre-written test suite, which will signal that you have solved the problem. +Here we simulate [Test-Driven Development](http://en.wikipedia.org/wiki/Test-driven_development) (TDD), where you write your tests before writing any functionality. The simulation comes in the form of a pre-written test suite, which will signal that you have solved the problem. It will also provide you with a safety net to explore other solutions without breaking the functionality. @@ -26,10 +22,10 @@ It will also provide you with a safety net to explore other solutions without br 2. Write some code to fix the test you picked. 3. Re-run the tests to confirm the test is now passing. 4. Repeat from step 1. -5. Submit your solution (`exercism submit /path/to/file`) +5. Submit your solution. ## Instructions Submissions are encouraged to be general, within reason. Having said that, it's also important not to over-engineer a solution. -It's important to remember that the goal is to make code as expressive and readable as we can. However, solutions to the hello-world exercise will not be reviewed by a person, but by rikki- the robot, who will offer an encouraging word. +It's important to remember that the goal is to make code as expressive and readable as we can. However, solutions to the hello-world exercise will not be reviewed by a person, but by the robot, who will offer an encouraging word. From 391ab92de179cba5782c07ecd82ecbbf99a54ec4 Mon Sep 17 00:00:00 2001 From: Yvan Sraka Date: Tue, 31 May 2016 15:51:16 +0200 Subject: [PATCH 2/4] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71142aa..79a4782 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Here we simulate [Test-Driven Development](http://en.wikipedia.org/wiki/Test-dri It will also provide you with a safety net to explore other solutions without breaking the functionality. -### A typical TDD workflow on Exercism: +### A typical TDD workflow 1. Run the test file and pick one test that's failing. 2. Write some code to fix the test you picked. From db2c08b635628a03e9fff7c208b934145d8606da Mon Sep 17 00:00:00 2001 From: Yvan Sraka Date: Tue, 31 May 2016 15:52:24 +0200 Subject: [PATCH 3/4] Delete hello_world.pyc --- hello_world.pyc | Bin 336 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 hello_world.pyc diff --git a/hello_world.pyc b/hello_world.pyc deleted file mode 100644 index 5445b77183e407cb6c6e8e5ae1e3d310a907f730..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 336 zcmb_WK?=e!5KLMX5d?o>FPgg)5d@Dt*n{9jO1qFk(v+rZd-unFz)4#11BUGEWOkWJ z_+Bp7yZDl`@dW4xlwAP|T+UvcT|oktMj^x&#c~e#))CxJ0N76>rzR1AdD^-`m1!Cz zr`r=iNTW&gkE{}DscU5_QTMGx>&8wUHF;^t3Q0J_=S4*&*VAmV{MANqP-7y*&pz0ORE3? From 023473c814a1bf3029a21c8fe173374e08691742 Mon Sep 17 00:00:00 2001 From: solomongamid Date: Thu, 2 Jun 2016 12:36:37 +0200 Subject: [PATCH 4/4] First Test --- Suliman/README.md | 31 +++++++++++++++++++++++++++++++ Suliman/README.yml | 4 ++++ Suliman/hello_world.py | 2 ++ Suliman/hello_world.py~ | 6 ++++++ Suliman/hello_world_test.py | 36 ++++++++++++++++++++++++++++++++++++ hello_world.py | 5 ++--- hello_world.py~ | 7 +++++++ 7 files changed, 88 insertions(+), 3 deletions(-) create mode 100644 Suliman/README.md create mode 100644 Suliman/README.yml create mode 100644 Suliman/hello_world.py create mode 100644 Suliman/hello_world.py~ create mode 100644 Suliman/hello_world_test.py create mode 100644 hello_world.py~ diff --git a/Suliman/README.md b/Suliman/README.md new file mode 100644 index 0000000..79a4782 --- /dev/null +++ b/Suliman/README.md @@ -0,0 +1,31 @@ +["Hello, World!"](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program) is the traditional first program for beginning programming in a new language. + +## Specification + +The `Hello World!` program will greet me, the caller. + +If I tell the program my name is Alice, it will greet me by saying "Hello, Alice!". + +If I neglect to give it my name, it will greet me by saying "Hello, World!" + +## Test-Driven Development + +As programmers mature, they eventually want to test their code. + +Here we simulate [Test-Driven Development](http://en.wikipedia.org/wiki/Test-driven_development) (TDD), where you write your tests before writing any functionality. The simulation comes in the form of a pre-written test suite, which will signal that you have solved the problem. + +It will also provide you with a safety net to explore other solutions without breaking the functionality. + +### A typical TDD workflow + +1. Run the test file and pick one test that's failing. +2. Write some code to fix the test you picked. +3. Re-run the tests to confirm the test is now passing. +4. Repeat from step 1. +5. Submit your solution. + +## Instructions + +Submissions are encouraged to be general, within reason. Having said that, it's also important not to over-engineer a solution. + +It's important to remember that the goal is to make code as expressive and readable as we can. However, solutions to the hello-world exercise will not be reviewed by a person, but by the robot, who will offer an encouraging word. diff --git a/Suliman/README.yml b/Suliman/README.yml new file mode 100644 index 0000000..825d4e9 --- /dev/null +++ b/Suliman/README.yml @@ -0,0 +1,4 @@ +--- +blurb: 'Write a program that greets the user by name, or by saying "Hello, World!" if no name is given.' +source: "This is a program to introduce users to using Exercism" +source_url: "http://en.wikipedia.org/wiki/%22Hello,_world!%22_program" diff --git a/Suliman/hello_world.py b/Suliman/hello_world.py new file mode 100644 index 0000000..0e2949f --- /dev/null +++ b/Suliman/hello_world.py @@ -0,0 +1,2 @@ +person = raw_input('Enter your name: ') +print('Hello', person) diff --git a/Suliman/hello_world.py~ b/Suliman/hello_world.py~ new file mode 100644 index 0000000..4aeb02d --- /dev/null +++ b/Suliman/hello_world.py~ @@ -0,0 +1,6 @@ +# +# Skeleton file for the Python "Hello World" exercise. +# + +person = raw_input('Enter your name: ') +print('Hello', person) diff --git a/Suliman/hello_world_test.py b/Suliman/hello_world_test.py new file mode 100644 index 0000000..a2d2b8c --- /dev/null +++ b/Suliman/hello_world_test.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals +import unittest + +import hello_world + + +class HelloWorldTests(unittest.TestCase): + + def test_hello_without_name(self): + self.assertEqual( + 'Hello, World!', + hello_world.hello() + ) + + def test_hello_with_sample_name(self): + self.assertEqual( + 'Hello, Alice!', + hello_world.hello('Alice') + ) + + def test_hello_with_other_sample_name(self): + self.assertEqual( + 'Hello, Bob!', + hello_world.hello('Bob') + ) + + def test_hello_with_umlaut_name(self): + self.assertEqual( + 'Hello, Jürgen!', + hello_world.hello('Jürgen') + ) + +if __name__ == '__main__': + unittest.main() diff --git a/hello_world.py b/hello_world.py index bfcb36f..4aeb02d 100644 --- a/hello_world.py +++ b/hello_world.py @@ -2,6 +2,5 @@ # Skeleton file for the Python "Hello World" exercise. # - -def hello(name=''): - return +person = raw_input('Enter your name: ') +print('Hello', person) diff --git a/hello_world.py~ b/hello_world.py~ new file mode 100644 index 0000000..bfcb36f --- /dev/null +++ b/hello_world.py~ @@ -0,0 +1,7 @@ +# +# Skeleton file for the Python "Hello World" exercise. +# + + +def hello(name=''): + return