• @[email protected]
    link
    fedilink
    2
    edit-2
    11 days ago

    Unittest in Python, enjoy! If you pass it with a function like the one in OPs picture, you have earned it.

    import unittest
    import random
    
    class TestOddEven(unittest.TestCase):
        def test_is_odd(self):
            for _ in range(100):
                num = random.randint(-2**63, 2**63 - 1)
    
                odd_num = num | 1
                even_num = num >> 1 << 1
    
                self.assertTrue(is_odd(odd_num))
                self.assertFalse(is_odd(even_num))
    
        def test_is_even(self):
            for _ in range(100):
                num = random.randint(-2**63, 2**63 - 1)
    
                odd_num = num | 1
                even_num = num >> 1 << 1
    
                self.assertTrue(is_even(even_num))
                self.assertFalse(is_even(odd_num))
    
    if __name__ == '__main__':
        unittest.main()
    
    • @[email protected]
      link
      fedilink
      111 days ago

      I don’t want unseeded randomness in my tests, ever.

      Seed the tests, and making these pass would be trivial.

        • @[email protected]
          link
          fedilink
          211 days ago

          The right tool here is tests at a level higher than machine code instructions that have been in CPUs since the 70s. Maybe TDD practice is not to test at this level, but every example of TDD sure tends to be something similar!