Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -16,20 +12,20 @@ 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.

### 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.
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.
31 changes: 31 additions & 0 deletions Suliman/README.md
Original file line number Diff line number Diff line change
@@ -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.
4 changes: 4 additions & 0 deletions Suliman/README.yml
Original file line number Diff line number Diff line change
@@ -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"
2 changes: 2 additions & 0 deletions Suliman/hello_world.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
person = raw_input('Enter your name: ')
print('Hello', person)
6 changes: 6 additions & 0 deletions Suliman/hello_world.py~
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#
# Skeleton file for the Python "Hello World" exercise.
#

person = raw_input('Enter your name: ')
print('Hello', person)
36 changes: 36 additions & 0 deletions Suliman/hello_world_test.py
Original file line number Diff line number Diff line change
@@ -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()
5 changes: 2 additions & 3 deletions hello_world.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Binary file removed hello_world.pyc
Binary file not shown.
7 changes: 7 additions & 0 deletions hello_world.py~
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#
# Skeleton file for the Python "Hello World" exercise.
#


def hello(name=''):
return