コード例 #1
0
 public void Insert(U valor)
 {
     if (comparacion(valor, Valor))
     {
         if (Izquierdo == null)
         {
             Izquierdo = new BinaryTree <U>(valor, comparacion);
         }
         else
         {
             Izquierdo.Insert(valor);
         }
     }
     else
     {
         if (Derecho == null)
         {
             Derecho = new BinaryTree <U>(valor, comparacion);
         }
         else
         {
             Derecho.Insert(valor);
         }
     }
 }
コード例 #2
0
 public void Insert(int valor)
 {
     if (valor <= this.Valor)
     {
         if (Izq == null)
         {
             this.Izq = new BinaryTree(valor);
         }
         else
         {
             Izq.Insert(valor);
         }
     }
     else
     {
         if (Der == null)
         {
             this.Der = new BinaryTree(valor);
         }
         else
         {
             Der.Insert(valor);
         }
     }
 }
コード例 #3
0
 public void Insert(int valor)
 {
     if (valor <= this.Valor)
     {
         if (Izquierdo == null)
         {
             this.Izquierdo = new BinaryTree(valor);
         }
         else
         {
             Izquierdo.Insert(valor);
         }
     }
     else
     {
         if (Derecho == null)
         {
             this.Derecho = new BinaryTree(valor);
         }
         else
         {
             Derecho.Insert(valor);
         }
     }
 }
コード例 #4
0
        public void ShouldReturnDefaultWhenTreeIsEmpty()
        {
            var expected = 0;

            _sut = new BinTree <int>();
            var actual = _sut.Find(123);

            Assert.Equal(expected, actual);
        }
コード例 #5
0
 public BinaryTree(
     U valor,
     IBinTree <U> derecho,
     IBinTree <U> izquierdo)
 {
     this.Valor     = valor;
     this.Derecho   = derecho;
     this.Izquierdo = izquierdo;
 }
コード例 #6
0
        public void ShouldReturnDefaultWhenGeHighestIsCalledWithEmptyTree()
        {
            int expected = default;

            _sut = new BinTree <int>();

            var actual = _sut.GetHighest();

            Assert.Equal(expected, actual);
        }
コード例 #7
0
        public void ShouldReturnDefaultWhenElementDoesNotExist()
        {
            var expected = 0;

            _sut = new BinTree <int>();
            _sut.Add(1);
            var actual = _sut.Find(123);

            Assert.Equal(expected, actual);
        }
コード例 #8
0
        public void AddOneValue()
        {
            var expected = 1;

            _sut = new BinTree <int>();
            _sut.Add(expected);
            var actual = _sut.Find(expected);

            Assert.Equal(expected, actual);
        }
コード例 #9
0
        public void ShouldReturnDefaultWhenGetSortedListIsCalledOnAnEmptyTree()
        {
            IEnumerable <int> expected = null;

            _sut = new BinTree <int>();

            var actual = _sut.GetSorted();

            Assert.Equal(expected, actual);
        }
コード例 #10
0
 public BinaryTree(
     U valor,
     IBinTree <U> derecho,
     IBinTree <U> izquierdo,
     Func <U, U, bool> comparacion)
 {
     this.Valor       = valor;
     this.Derecho     = derecho;
     this.Izquierdo   = izquierdo;
     this.comparacion = comparacion;
 }
コード例 #11
0
        public void ShouldReturnHightestValue()
        {
            var expected = 10;

            _sut = new BinTree <int>();
            _sut.Add(1);
            _sut.Add(10);
            _sut.Add(5);

            var actual = _sut.GetHighest();

            Assert.Equal(expected, actual);
        }
コード例 #12
0
        public void ShouldReturnLowestValue()
        {
            var expected = 1;

            _sut = new BinTree <int>();
            _sut.Add(5);
            _sut.Add(1);
            _sut.Add(2);

            var actual = _sut.GetLowest();

            Assert.Equal(expected, actual);
        }
コード例 #13
0
        public void AddTwoValues()
        {
            var expected1 = 1;
            var expected2 = 2;

            _sut = new BinTree <int>();
            _sut.Add(expected1);
            _sut.Add(expected2);
            var actual1 = _sut.Find(expected1);
            var actual2 = _sut.Find(expected2);

            Assert.Equal(expected1, actual1);
            Assert.Equal(expected2, actual2);
        }
コード例 #14
0
        public void ShouldGetSortedList()
        {
            var expected = new List <int> {
                1, 2, 3, 4, 5
            };

            _sut = new BinTree <int>();
            _sut.Add(4);
            _sut.Add(1);
            _sut.Add(2);
            _sut.Add(5);
            _sut.Add(3);

            var actual = _sut.GetSorted();

            Assert.Equal(expected, actual);
        }
コード例 #15
0
 public BinaryTree(int v, IBinTree der, IBinTree izq)
 {
     this.Value     = v;
     this.Derecho   = der;
     this.Izquierdo = izq;
 }
コード例 #16
0
 public BinaryTree(int valor, IBinTree derecho, IBinTree izquierdo)
 {
     this.Valor     = valor;
     this.Derecho   = derecho;
     this.Izquierdo = izquierdo;
 }
コード例 #17
0
 public ParseTree(string valor, IBinTree <string> derecho, IBinTree <string> izquierdo) : base(valor, derecho, izquierdo)
 {
 }
コード例 #18
0
 public void CreateBinTree()
 {
     _sut = new BinTree <int>();
     Assert.NotNull(_sut);
 }
コード例 #19
0
 public BinaryIntTree(
     int valor,
     IBinTree <int> derecho,
     IBinTree <int> izquierdo) : base(valor, derecho, izquierdo)
 {
 }