示例#1
0
def test_from_rawlog():
    str_full = " 0  00:00.00  null  either "
    str_mark = "    1     0:00.03    video start"

    rawlog = RawLog()
    rawlog.full.append(str_full)
    rawlog.marks.append(str_mark)

    log = Log.from_raw_log(rawlog)

    assert log.full == [BehaviorFull(" 0  00:00.00  null  either ")]
    assert log.marks == [Mark.from_line("    1     0:00.03    video start")]
示例#2
0
def test_from_line_valid_negative_frame():
    Mark.from_line("    -1     0:00.03    video start")
示例#3
0
def test_from_line_invalid_time_one_middle_digit():
    with pytest.raises(TypeError):
        Mark.from_line("    1     0:0.03    video start")
示例#4
0
def test_from_line_invalid_time_two_periods():
    with pytest.raises(TypeError):
        Mark.from_line("    1     0.00.03    video start")
示例#5
0
def test_from_line_invalid_time_no_period():
    with pytest.raises(TypeError):
        Mark.from_line("    1     0:00:03    video start")
示例#6
0
def test_from_line_invalid_one_space_after_frame():
    with pytest.raises(TypeError):
        Mark.from_line("    1 0:00.03    video start")
示例#7
0
def test_to_line_valid_end_start_is_template():
    start = "    1     0:00.03    video start"
    end = "54001    30:00.03    video end"
    mark = Mark.from_line(end)
    assert mark.to_line(start) == end
示例#8
0
def test_from_line_invalid_name():
    with pytest.raises(TypeError):
        Mark.from_line("    1     0:00.03    video start!")
示例#9
0
def test_lt_name():
    first = Mark.from_line("    1     0:00.03    a video starts")
    second = Mark.from_line("    1     0:00.03    video start")

    assert first < second
示例#10
0
def test_lt_time_both_signs():
    first = Mark.from_line("    1     -0:00.03    video start")
    second = Mark.from_line("    1     0:00.03    video start")

    assert first < second
示例#11
0
def test_lt_time_negative():
    first = Mark.from_line("    1     -0:05.00    video start")
    second = Mark.from_line("    1     -0:00.03    video start")

    assert first < second
示例#12
0
def test_from_line_valid_end():
    mark = Mark.from_line("54001    30:00.03    video end")
    assert mark.frame == 54001
    assert mark.time == timedelta(seconds=1800.03)
    assert mark.name == "video end"
示例#13
0
def test_lt_frame_negative():
    first = Mark.from_line("    -2     0:00.03    video start")
    second = Mark.from_line("    -1     0:00.03    video start")

    assert first < second
示例#14
0
def test_lt_frame_positive():
    first = Mark.from_line("    1     0:00.03    video start")
    second = Mark.from_line("    2     0:00.03    video start")

    assert first < second
示例#15
0
def test_from_line_valid_start():
    mark = Mark.from_line("    1     0:00.03    video start")
    assert mark.frame == 1
    assert mark.time == timedelta(seconds=0.03)
    assert mark.name == "video start"
示例#16
0
def test_from_line_valid_time_negative():
    Mark.from_line("    1     -0:00.03    video start")
示例#17
0
def test_from_line_invalid_time_nonnumeric():
    with pytest.raises(TypeError):
        Mark.from_line("    1     0:a00.03    video start")
示例#18
0
def test_lt_name_lexicographic():
    first = Mark.from_line("    1     0:00.03    A video starts")
    second = Mark.from_line("    1     0:00.03    video starts")

    assert first < second
示例#19
0
def test_from_line_valid_long_time():
    mark = Mark.from_line("    1     01:20:04.03    video start")
    assert mark.frame == 1
    assert mark.time == timedelta(seconds=(1 * 60 * 60 + 20 * 60 + 4.03))
    assert mark.name == "video start"
示例#20
0
def test_lt_equal():
    first = Mark.from_line("    1     0:00.03    A video starts")
    second = Mark.from_line("    1     0:00.03    A video starts")

    assert first >= second