Beispiel #1
0
def test_sequence_special_methods():
    net = task_10_1.IPv4Network('100.7.1.0/29')
    # test __getitem__
    assert net[
        1] == '100.7.1.2', "В сети 100.7.1.0/29 под индексом 1 должен находиться адрес 100.7.1.2"
    assert net[
        -1] == '100.7.1.6', "В сети 100.7.1.0/29 под индексом -1 должен находиться адрес100.7.1.6"
    assert net[1:4] == (
        '100.7.1.2', '100.7.1.3', '100.7.1.4'
    ), "Срез [1:4] сети 100.7.1.0/29 должен возвращать кортеж с адресами ('100.7.1.2', '100.7.1.3', '100.7.1.4')"

    # test __len__
    assert len(net) == 6, "Для сети 100.7.1.0/29 количество хостов 6"

    # test __contains__
    assert '100.7.1.3' in net, "Должно возвращать True"
    assert '10.17.1.9' not in net, "Должно возвращать True"

    # test __iter__
    iterator = iter(net)
    assert next(
        iterator
    ) == '100.7.1.1', "Для сети 100.7.1.0/29 первым адресом должен быть 100.7.1.1"

    # test index
    assert net.index(
        '100.7.1.4') == 3, "Для сети 100.7.1.0/29 index 100.7.1.4 равен 3"

    # test count
    assert net.count(
        '100.7.1.4'
    ) == 1, "Адрес 100.7.1.4 входит в сеть 100.7.1.0/29 поэтому количество должно быть 1"
    assert net.count(
        '100.7.1.9'
    ) == 0, "Адрес 100.7.1.4 не входит в сеть 100.7.1.0/29 поэтому количество должно быть 0"
def test_sequence_special_methods_count():
    net = task_10_1.IPv4Network("100.7.1.0/29")
    assert (
        net.count("100.7.1.4") == 1
    ), "Адрес 100.7.1.4 входит в сеть 100.7.1.0/29 поэтому количество должно быть 1"
    assert (
        net.count("100.7.1.9") == 0
    ), "Адрес 100.7.1.4 не входит в сеть 100.7.1.0/29 поэтому количество должно быть 0"
Beispiel #3
0
def test_sequence_special_methods_created():
    net = task_10_1.IPv4Network('100.7.1.0/29')
    check_attr_or_method(net, method='__getitem__')
    check_attr_or_method(net, method='__len__')
    check_attr_or_method(net, method='__contains__')
    check_attr_or_method(net, method='__iter__')
    check_attr_or_method(net, method='index')
    check_attr_or_method(net, method='count')
def test_sequence_special_methods_created():
    net = task_10_1.IPv4Network("100.7.1.0/29")
    check_attr_or_method(net, method="__getitem__")
    check_attr_or_method(net, method="__len__")
    check_attr_or_method(net, method="__contains__")
    check_attr_or_method(net, method="__iter__")
    check_attr_or_method(net, method="index")
    check_attr_or_method(net, method="count")
def test_sequence_special_methods_getitem():
    net = task_10_1.IPv4Network("100.7.1.0/29")
    assert (
        net[1] == "100.7.1.2"
    ), "В сети 100.7.1.0/29 под индексом 1 должен находиться адрес 100.7.1.2"
    assert (
        net[-1] == "100.7.1.6"
    ), "В сети 100.7.1.0/29 под индексом -1 должен находиться адрес100.7.1.6"
    assert net[1:4] == (
        "100.7.1.2",
        "100.7.1.3",
        "100.7.1.4",
    ), "Срез [1:4] сети 100.7.1.0/29 должен возвращать кортеж с адресами ('100.7.1.2', '100.7.1.3', '100.7.1.4')"
def test_class():
    '''Проверяем работу объекта'''
    list_of_ips = ['8.8.4.2', '8.8.4.4', '8.8.4.6']
    correct_return_value = get_reach_unreach(list_of_ips)

    net1 = task_10_1.IPv4Network('8.8.4.0/29')
    net1.allocate('8.8.4.2')
    net1.allocate('8.8.4.4')
    net1.allocate('8.8.4.6')

    scan_net = task_10_2.PingNetwork(net1)
    assert callable(scan_net) == True
    return_value = scan_net()
    assert return_value != None, "Функция ничего не возвращает"
    assert type(return_value) == tuple and all(type(item)==list for item in return_value), "Метод scan должен возвращать кортеж с двумя списками"
    assert return_value == correct_return_value, "Функция возвращает неправильное значение"
    # include_unassigned = True
    assert type(scan_net(include_unassigned=True)) == tuple
Beispiel #7
0
def test_class():
    """Проверяем работу объекта"""
    list_of_ips = ["8.8.4.2", "8.8.4.4", "8.8.4.6"]
    correct_return_value = get_reach_unreach(list_of_ips)

    net1 = task_10_1.IPv4Network("8.8.4.0/29")
    net1.allocate_ip("8.8.4.2")
    net1.allocate_ip("8.8.4.4")
    net1.allocate_ip("8.8.4.6")

    scan_net = task_10_2.PingNetwork(net1)
    assert callable(scan_net) == True
    return_value = scan_net()
    assert return_value != None, "Функция ничего не возвращает"
    assert type(return_value) == tuple and all(
        type(item) == list for item in
        return_value), "Метод scan должен возвращать кортеж с двумя списками"
    reach, unreach = return_value
    assert ((sorted(reach), sorted(unreach)) == correct_return_value
            ), "Функция возвращает неправильное значение"
    # include_unassigned = True
    assert type(scan_net(include_unassigned=True)) == tuple
def test_sequence_special_methods_index():
    net = task_10_1.IPv4Network("100.7.1.0/29")
    assert net.index(
        "100.7.1.4") == 3, "Для сети 100.7.1.0/29 index 100.7.1.4 равен 3"
def test_sequence_special_methods_iter():
    net = task_10_1.IPv4Network("100.7.1.0/29")
    iterator = iter(net)
    assert (next(iterator) == "100.7.1.1"
            ), "Для сети 100.7.1.0/29 первым адресом должен быть 100.7.1.1"
def test_sequence_special_methods_contains():
    net = task_10_1.IPv4Network("100.7.1.0/29")
    assert "100.7.1.3" in net, "Должно возвращать True"
    assert "10.17.1.9" not in net, "Должно возвращать True"
def test_sequence_special_methods_len():
    net = task_10_1.IPv4Network("100.7.1.0/29")
    assert len(net) == 6, "Для сети 100.7.1.0/29 количество хостов 6"