john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

palindromeTransformer test

import pytest
from PalindromeTransformer import PalindromeTransformer

MAX = 10000

@pytest.fixture
def transformer():
    transformer = PalindromeTransformer( MAX )
    return transformer


@pytest.mark.usefixtures()
class TestPalindromeTransformer:

    def test_success( self , transformer ):
        assert 11 == transformer.transform( 10 )

    def test_odd_success( self , transformer ):
        assert 44 == transformer.transform( 13 )

    def test_even_success( self , transformer ):
        assert 606 == transformer.transform( 204 )


    def test_single_digit_success( self , transformer ):
        for i in xrange( 10 ):
            assert i == transformer.transform( i )

    def test_already_palindrome_success( self , transformer ):
        assert 121 == transformer.transform( 121 )

    def test_over_max_returns_error( self , transformer ):
        assert PalindromeTransformer.ERROR == transformer.transform( 100000 )

    def test_special_case_returns_error( self , transformer ):
        assert PalindromeTransformer.ERROR == transformer.transform( 196 )



@pytest.mark.usefixtures()
class TestPalindromeTransformerIsPalindrome:

    def test_single_digit_success( self , transformer ):
        for i in xrange( 10 ):
            assert True == transformer.is_palindrome( i )

    def test_odd_palindrome_success( self , transformer ):
        assert True == transformer.is_palindrome( 121 )

    def test_all_same_digits_palindrome_success( self , transformer ):
        assert True == transformer.is_palindrome( 33333333 )

    def test_long_success( self , transformer ):
        assert True == transformer.is_palindrome( 1234554321 )

    def test_not_palindrome_is_false( self , transformer ):
        assert False == transformer.is_palindrome( 10 )




@pytest.mark.usefixtures()
class TestPalindromeTransformerReverseInteger:

    def test_single_digit_success( self , transformer ):
        for i in xrange( 10 ):
            assert i == transformer.reverse_positive_integer( i )

    def test_already_palindrome_success( self , transformer ):
        assert 121 == transformer.reverse_positive_integer( 121 )

    def test_success( self , transformer ):
        assert 1 == transformer.reverse_positive_integer( 10 )

    def test_long_success( self , transformer ):
        assert 123456789 == transformer.reverse_positive_integer( 987654321 )

    def test_negative_returns_zero( self , transformer ):
        assert 0 == transformer.reverse_positive_integer( -1 )

  • « stack
  • palindromeTransformer »

Published

Apr 25, 2013

Category

python

~176 words

Tags

  • palindrometransformer 2
  • python 180
  • test 29