1import unittest
2
3from solution import *
4
5
6class TestOpposite(unittest.TestCase):
7 """Test no_it_isnt function."""
8
9 def test_sanity(self):
10 """Sanity test for returning the correct type."""
11 self.assertIs(type(no_it_isnt([])), list)
12
13
14if __name__ == '__main__':
15 unittest.main()
1import unittest
2
3from solution import *
4
5
6class TestOpposite(unittest.TestCase):
7 """Test no_it_isnt function."""
8
9 def test_int(self):
10 """Test with an integer."""
11 self.assertEqual(no_it_isnt([1, 2]), [-2, -1])
12 self.assertEqual(no_it_isnt([-2]), [2])
13 self.assertEqual(no_it_isnt([0]), [0])
14
15 def test_float(self):
16 """Test with a float."""
17 self.assertEqual(no_it_isnt([1.234]), [-1.234])
18 self.assertEqual(no_it_isnt([-2.33]), [2.33])
19 self.assertEqual(no_it_isnt([6.66, 0.0]), [0.0, -6.66])
20
21 def test_bool(self):
22 """Test with a bool."""
23 self.assertEqual(no_it_isnt([True, False]), [True, False])
24 self.assertEqual(no_it_isnt([False, True, False]), [True, False, True])
25
26 def test_str(self):
27 """Test with a string."""
28 self.assertEqual(no_it_isnt(['1- 2 ab']), ['ba 2 -1'])
29 self.assertEqual(no_it_isnt(['']), [''])
30
31 def test_mixed(self):
32 """Test with a long mixed content of types."""
33 self.assertEqual(no_it_isnt([1, 1.2, True, 'string']), ['gnirts', False, -1.2, -1])
34 self.assertEqual(no_it_isnt([True, True, False]), [True, False, False])
35 self.assertEqual(no_it_isnt(['1', '12', '123']), ['321', '21', '1'])
36
37
38if __name__ == '__main__':
39 unittest.main()
Георги Кунчев
18.10.2023 11:54Нека визуализирам:
```
0 == -0 # True
0.0 == 0 # True
```
Уговорката с нула беше добавена, за да не се чудите какво да правите с нея. В крайна сметка правите най-логичното нещо - не я закачате.
Дали функцията ти ще върне `0`, `-0`, `0.0` или `-0.0`, за Python (т.е. и за нашите тестове) това е една и съща стойност.
Виж, случаят с `0.2` е различен. Това не е нула, т.е му сменяш знака.
|
Нелина Тотева
18.10.2023 11:32Не съм сигурна, че разбирам условието с 0-та правилно. Примерно ако имам 0 ми е ясно че трябва да върне 0 , но ако е 0,2 тогава -0.2 или 0,2 и ако е -0.0, тогава трябва да върне отново -0.0 ли? В крайна сметка в математиката нулата с какъвто и знак да е си е нула, но тук нещо се обърквам.
|