zjfz-2019/intro/Task105Test.py

51 lines
1.5 KiB
Python
Executable File

#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
Zadanie 105
Napisz funkcję `is_almost_prime(number, limit)` sprawdzającą, czy
podana liczba nie dzieli się przez żadną liczbę z zakresu od 2 do
`limit`. Dla liczb ujemnych powinna zostać zwrócona wartość `False`.
NAME: is_almost_prime
PARAMS: int, int
RETURN: bool
POINTS: 3
"""
import unittest
from Task105 import is_almost_prime
class Task105Test(unittest.TestCase):
"""Testy do zadania 105"""
def test_simple(self):
"""Proste testy"""
self.assertTrue(is_almost_prime(35, 4))
self.assertFalse(is_almost_prime(35, 5))
self.assertFalse(is_almost_prime(35, 100))
self.assertTrue(is_almost_prime(17, 4))
self.assertTrue(is_almost_prime(17, 16))
self.assertFalse(is_almost_prime(17, 17))
self.assertFalse(is_almost_prime(17, 100))
self.assertFalse(is_almost_prime(16, 2))
self.assertFalse(is_almost_prime(16, 5))
self.assertFalse(is_almost_prime(16, 13))
self.assertFalse(is_almost_prime(16, 101))
def test_special_cases(self):
"""Testy przypadków szczególnych."""
self.assertFalse(is_almost_prime(-1, 10))
self.assertFalse(is_almost_prime(0, 8))
self.assertTrue(is_almost_prime(1, 6))
self.assertFalse(is_almost_prime(2, 2))
def test_negatives(self):
"""Testy dla liczb ujemnych."""
self.assertFalse(is_almost_prime(-5, 100))
self.assertFalse(is_almost_prime(-13, 5))
if __name__ == '__main__':
unittest.main()