aboutsummaryrefslogtreecommitdiff
path: root/test/org/traccar/database/GroupTreeTest.java
blob: 26ac595f81687880b6e950bb7add72d718dbd3e8 (plain)
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
package org.traccar.database;

import org.junit.Assert;
import org.junit.Test;
import org.traccar.model.Group;

import java.util.ArrayList;
import java.util.Collection;

public class GroupTreeTest {

    private static Group createGroup(long id, String name, long parent) {
        Group group = new Group();
        group.setId(id);
        group.setName(name);
        group.setGroupId(parent);
        return group;
    }
    
    @Test
    public void testGetDescendants() {
        Collection<Group> groups = new ArrayList<>();
        groups.add(createGroup(1, "First", 0));
        groups.add(createGroup(2, "Second", 1));
        groups.add(createGroup(3, "Third", 2));
        groups.add(createGroup(4, "Fourth", 2));
        groups.add(createGroup(5, "Fifth", 4));

        GroupTree groupTree = new GroupTree(groups);

        Assert.assertEquals(4, groupTree.getDescendants(1).size());
        Assert.assertEquals(3, groupTree.getDescendants(2).size());
        Assert.assertEquals(0, groupTree.getDescendants(3).size());
        Assert.assertEquals(1, groupTree.getDescendants(4).size());
    }

}