[go: up one dir, main page]

File: test_utils.py

package info (click to toggle)
solfege 3.10.3-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 12,408 kB
  • ctags: 4,270
  • sloc: python: 22,161; xml: 7,536; ansic: 4,442; makefile: 685; sh: 308
file content (38 lines) | stat: -rw-r--r-- 1,886 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Solfege - free ear training software
# Copyright (C) 2007, 2008 Tom Cato Amundsen
# License is GPL, see file COPYING

import unittest
from src.utils import Url, string_get_line_at

class TestUrl(unittest.TestCase):
    def setUp(self):
        pass
    def test_all(self):
        url = Url('solfege:practise/lesson-files/melodic-intervals?ask_for_names=[1, 2, 3]')
        self.assert_(url.protocol == 'solfege')
        self.assert_(url.action == 'practise')
        self.assert_(url.lessonfile == 'lesson-files/melodic-intervals')
        self.assert_(url.config == {'ask_for_names': '[1, 2, 3]'})
        url = Url('solfege://home/tom/lessonfiles/melodic-intervals?ask_for_names=[1, 2, 3]')
        self.assert_(url.protocol == 'solfege')
        self.assert_(url.lessonfile == '/home/tom/lessonfiles/melodic-intervals')
        self.assert_(url.config == {'ask_for_names': '[1, 2, 3]'})

class TestStringGetLineAt(unittest.TestCase):
    def test1(self):
        self.assertEquals(string_get_line_at("abc", 1), "abc")
        self.assertEquals(string_get_line_at("\nabc", 1), "abc")
        self.assertEquals(string_get_line_at("abc\n", 0), "abc")
        self.assertEquals(string_get_line_at("abc\n", 2), "abc")
        self.assertEquals(string_get_line_at("abc\n", 3), "abc")
        self.assertEquals(string_get_line_at("abc\n\n", 3), "abc")
        self.assertEquals(string_get_line_at("abc\n\n", 4), "")
        self.assertEquals(string_get_line_at("abc\n\nx", 4), "")
        self.assertEquals(string_get_line_at("abc\n\nx", 5), "x")
        self.assertRaises(IndexError, lambda x: string_get_line_at("", 0), "")
        self.assertEquals(string_get_line_at("  \n\n   \t \n \t abc \n", 3), "")
        self.assertEquals(string_get_line_at("  \n\n   \t \n \t abc \n", 4), "   \t ")

suite = unittest.makeSuite(TestUrl)
suite.addTest(unittest.makeSuite(TestStringGetLineAt))