예제 #1
0
def test_parse_without_range():
    data = LccData.parse('HQ767.9')
    classification = MainClass('HQ')
    subclass = SubClass('767.9')
    assert data.main_class_start == classification
    assert data.main_class_end == classification
    assert data.sub_class_start == subclass
    assert data.sub_class_end == subclass
예제 #2
0
def test_parse_with_range_with_letters():
    data = LccData.parse('ML385 - 410.P')
    assert data.main_class_start == MainClass('ML')
    assert data.main_class_end == MainClass('ML')
    assert data.sub_class_start == SubClass('385')
    assert data.sub_class_end == SubClass('410.P')
예제 #3
0
def test_parse_main_class_raw_compare():
    value = LccData.parse_main_class('A1')
    assert value == 10 * (36**1) + 1 * (36**0)
예제 #4
0
def test_parse_with_range_main_class():
    data = LccData.parse('A5 - B10')
    assert data.main_class_start == MainClass('A')
    assert data.main_class_end == MainClass('B')
    assert data.sub_class_start == SubClass('5')
    assert data.sub_class_end == SubClass('10')
예제 #5
0
def test_parse_with_range_with_fractional_part_on_left_side():
    data = LccData.parse('ML75.5 - 76')
    assert data.main_class_start == MainClass('ML')
    assert data.main_class_end == MainClass('ML')
    assert data.sub_class_start == SubClass('75.5')
    assert data.sub_class_end == SubClass('76')
예제 #6
0
def test_parse_with_range_with_fractional_part_on_right_side():
    data = LccData.parse('N7101 - 7113.3')
    assert data.main_class_start == MainClass('N')
    assert data.main_class_end == MainClass('N')
    assert data.sub_class_start == SubClass('7101')
    assert data.sub_class_end == SubClass('7113.3')
예제 #7
0
def test_parse_with_range():
    data = LccData.parse('N5300 - 5308')
    assert data.main_class_start == MainClass('N')
    assert data.main_class_end == MainClass('N')
    assert data.sub_class_start == SubClass('5300')
    assert data.sub_class_end == SubClass('5308')
예제 #8
0
def test_parse_without_range_and_year_and_author():
    data = LccData.parse('HQ767.9')
    assert data.year is None
예제 #9
0
def test_parse_subclass_with_fractional_part():
    value = LccData.parse_sub_class('767.9')
    assert value == int('76790000', 36)
예제 #10
0
def test_parse_sub_class():
    value = LccData.parse_sub_class('767')
    assert value == int('76700000', 36)
예제 #11
0
def test_parse_sub_class_raw_compare():
    value = LccData.parse_sub_class('10')
    assert value == 1 * 36**6