TF-37 Generate tree with Map

This commit is contained in:
Dat PHAM HOANG
2021-08-31 18:08:58 +07:00
committed by Dat H. Pham
parent 41b4e8296c
commit e63298bc29
6 changed files with 44 additions and 242 deletions
@@ -11,38 +11,20 @@ void main() {
final parentMailbox = PresentationMailbox(MailboxId(Id('1')));
final node = MailboxNode(parentMailbox);
final childMailbox = PresentationMailbox(MailboxId(Id('11')), parentId: MailboxId(Id('1')));
final childNode = node.addChild(childMailbox);
node.addChildNode(MailboxNode(childMailbox));
expect(node.childrenItems.length, equals(1));
expect(node.childrenItems[0], equals(childNode));
expect(node.childrenItems?.length, equals(1));
});
test('addChild should add new mailbox to a node', () async {
test('addChildNode should add other new mailbox to a node', () async {
final parentMailbox = PresentationMailbox(MailboxId(Id('1')));
final node = MailboxNode(parentMailbox);
final childMailbox = PresentationMailbox(MailboxId(Id('11')), parentId: MailboxId(Id('1')));
final childNode = node.addChild(childMailbox);
node.addChildNode(MailboxNode(childMailbox));
final childMailbox2 = PresentationMailbox(MailboxId(Id('12')), parentId: MailboxId(Id('1')));
final childNode2 = node.addChild(childMailbox2);
node.addChildNode(MailboxNode(childMailbox2));
expect(node.childrenItems.length, equals(2));
expect(node.childrenItems, containsAll({childNode, childNode2}));
});
test('addChild add new mailbox without parentId to a node should return null', () async {
final parentMailbox = PresentationMailbox(MailboxId(Id('1')));
final node = MailboxNode(parentMailbox);
final orphanMailbox = PresentationMailbox(MailboxId(Id('22')));
expect(node.addChild(orphanMailbox), null);
});
test('addChild add new mailbox with other parentId to a node should return null', () async {
final parentMailbox = PresentationMailbox(MailboxId(Id('1')));
final node = MailboxNode(parentMailbox);
final orphanMailbox = PresentationMailbox(MailboxId(Id('21')), parentId: MailboxId(Id('2')));
expect(node.addChild(orphanMailbox), null);
expect(node.childrenItems!.length, equals(2));
});
});
}