TreeTest.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Data\Test\Unit;
  7. use \Magento\Framework\Data\Tree\Node;
  8. use \Magento\Framework\Data\Tree;
  9. /**
  10. * Tests for \Magento\Framework\Data\FormFactory
  11. * @SuppressWarnings(PHPMD.LongVariable)
  12. */
  13. class TreeTest extends \PHPUnit\Framework\TestCase
  14. {
  15. /**
  16. * @var \Magento\Framework\Data\Tree
  17. */
  18. protected $_tree;
  19. protected function setUp()
  20. {
  21. $this->_tree = new Tree();
  22. }
  23. public function testTreeOperations()
  24. {
  25. $newNode1 = new Node('abc', 'node1', $this->_tree);
  26. $this->_tree->addNode($newNode1);
  27. $newNode2 = new Node('def', 'node2', $this->_tree);
  28. $this->_tree->addNode($newNode2, $newNode1);
  29. $newNode3 = new Node('ghi', 'node3', $this->_tree);
  30. $this->_tree->addNode($newNode3, $newNode1);
  31. $data1 = ['j', 'k', 'l'];
  32. $this->_tree->appendChild($data1, $newNode3);
  33. $newNode4 = new Node('mno', 'node4', $this->_tree);
  34. $this->_tree->appendChild($newNode4, $newNode3);
  35. $this->_tree->removeNode($newNode4);
  36. $this->_tree->removeNode($newNode3);
  37. $this->_tree->removeNode($newNode2);
  38. $this->_tree->removeNode($newNode1);
  39. $this->assertEmpty($this->_tree->getNodes()->getNodes());
  40. }
  41. }