Skip to content

Commit

Permalink
Moved state.py tests to test_state.py
Browse files Browse the repository at this point in the history
  • Loading branch information
pignacio committed Feb 13, 2015
1 parent 9b8ce2a commit 9e36a22
Showing 1 changed file with 62 additions and 8 deletions.
70 changes: 62 additions & 8 deletions test/test_curses/test_render.py → test/test_curses/test_state.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,16 @@
from chorddb.curses.state import RenderState, IndexedChord, _get_indexed_chords_versions, ChordLibrary, _get_indexed_chords, wrap_get
from ..test_tab.mock_objects import MockTablature, MockTabLine, MockChordLineData, MockTabChord
from ..utils import (
Sentinels, make_namedtuple as make_nt, mock_namedtuple as mock_nt)
Sentinels, make_namedtuple as make_nt,
mock_namedtuple_class)

logger = logging.getLogger(__name__) # pylint: disable=invalid-name


MockRenderState = mock_namedtuple_class(RenderState)
MockIndexedChord = mock_namedtuple_class(IndexedChord)


class RenderStateInitialTests(TestCase):
''' Tests for RenderState.initial_state '''
def setUp(self):
Expand Down Expand Up @@ -85,9 +90,9 @@ def test_initial_chord_drawing_is_reversed(self):
def test_get_indexed_chords_versions(mock_chord_library):
sentinels = Sentinels()
indexed_chords = [
mock_nt(IndexedChord, chord=sentinels.first_chord),
mock_nt(IndexedChord, chord=sentinels.second_chord),
mock_nt(IndexedChord, chord=sentinels.first_chord),
MockIndexedChord(chord=sentinels.first_chord),
MockIndexedChord(chord=sentinels.second_chord),
MockIndexedChord(chord=sentinels.first_chord),
]
chord_versions = {
sentinels.first_chord: sentinels.first_versions,
Expand Down Expand Up @@ -149,8 +154,7 @@ class RenderStateMoveLyricsTests(TestCase):
def setUp(self):
lines = Mock()
lines.__len__ = Mock(return_value=100)
self.state = mock_nt(
RenderState,
self.state = MockRenderState(
tablature=MockTablature(
lines=lines
),
Expand Down Expand Up @@ -205,13 +209,42 @@ def test_wrapping_lookup(self):
eq_(wrap_get(self.array, 5), self.sentinels.third)


def test_move_current_chord():
state = MockRenderState(
current_chord_index=0,
)
state = state.move_current_chord(10)
eq_(state.current_chord_index, 10)
state = state.move_current_chord(-15)
eq_(state.current_chord_index, -5)


def test_move_current_chord_version():
sentinels = Sentinels()
mock_current_chord = Mock(return_value=MockIndexedChord(
chord=sentinels.chord))
state = MockRenderState(
current_chord_version_index={
sentinels.chord: 5,
sentinels.other_chord: sentinels.value,
},
)
state.current_indexed_chord = mock_current_chord

state = state.move_current_chord_version(10)

eq_(state.current_chord_version_index[sentinels.chord], 15)
eq_(state.current_chord_version_index[sentinels.other_chord],
sentinels.value)
mock_current_chord.assert_called_once_with()


@patch('chorddb.curses.state.wrap_get')
def test_renderstate_current_chord(mock_wrap_get):
sentinels = Sentinels()
mock_wrap_get.return_value = sentinels.current_chord

current_chord = mock_nt(
RenderState,
current_chord = MockRenderState(
indexed_chords=sentinels.indexed_chords,
current_chord_index=sentinels.current_chord_index
).current_indexed_chord()
Expand All @@ -220,3 +253,24 @@ def test_renderstate_current_chord(mock_wrap_get):
mock_wrap_get.assert_called_once_with(sentinels.indexed_chords,
sentinels.current_chord_index)


@patch('chorddb.curses.state.wrap_get')
def test_renderstate_get_chord_version(mock_wrap_get):
sentinels = Sentinels()
mock_wrap_get.return_value = sentinels.current_version
mock_chords_version = Mock()
mock_chords_version.get.return_value = sentinels.version_list
current_version_index = {
sentinels.chord: sentinels.chord_index,
}

current_version = MockRenderState(
chord_versions=mock_chords_version,
current_chord_version_index=current_version_index,
).get_chord_version(sentinels.chord)

eq_(current_version, sentinels.current_version)
mock_chords_version.get.assert_called_once_with(sentinels.chord, [])
mock_wrap_get.assert_called_once_with(sentinels.version_list,
sentinels.chord_index)

0 comments on commit 9e36a22

Please sign in to comment.