diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml new file mode 100644 index 0000000..8587e42 --- /dev/null +++ b/.github/workflows/github-actions.yml @@ -0,0 +1,29 @@ +# copy this file to .github/workflows/github-actions.yml in this repository +name: learn-github-actions +on: [push] +jobs: + test-my-python-code: + # select the os-image these jobs should run on + runs-on: ubuntu-20.04 + + # define the Python versions that should be used + strategy: + matrix: + python-version: [2.7, 3.8] + + steps: + # step to check out the repository + - uses: actions/checkout@v2 + + # step to create the Python environment + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + # step to install the dependencies + - name: Install dependencies + run: "pip install -r requirements.txt" + + # step to run tests + - run: pytest -v diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..ed518f6 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,10 @@ + + + +# _config.yml +# Jekyll configuration +name: My Cool Page +title: My Cool Page +description: A Documentation Page created with Jekyll +theme: jekyll-theme-architect + diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..6b5a272 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,10 @@ + +# My Testing Docs Page + +It Works! :-) + +1. Have a `_config.yml` file setting a `title`, `name`, `description` and `theme`. +2. Add an `index.md` file with the landing page in Markdown. +3. Add more `*.md` files, e.g. `about.md` +4. add a link to [about.md](about) with: `[about.md](about)` + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..bfe3f43 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +numpy>=1.0 +pytest + diff --git a/test_mean.py b/test_mean.py new file mode 100644 index 0000000..c49efdc --- /dev/null +++ b/test_mean.py @@ -0,0 +1,34 @@ +from mean import * + +def test_ints(): + num_list = [1,2,3,4,5] + obs = mean(num_list) + exp = 3 + assert obs == exp + +def test_zero(): + num_list=[0,2,4,6] + obs = mean(num_list) + exp = 3 + assert obs == exp + +def test_double(): + # This one will fail in Python 2 + num_list=[1.0,2.0,3.0,4.0] + obs = mean(num_list) + exp = 2.5 + assert obs == exp + +def test_long(): + big = 100000000 + obs = mean(range(1,big)) + exp = big/2.0 + assert obs == exp + +def test_complex(): + # given that complex numbers are an unordered field + # the arithmetic mean of complex numbers is meaningless + num_list = [2 + 3j, 3 + 4j, -32 - 2j] + obs = mean(num_list) + exp = NotImplemented + assert obs == exp