Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/11/17 11:19:37 (7 years ago)
Author:
abeham
Message:

#2803: fixed tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Tests/HeuristicLab.IGraph/IGraphWrappersVectorTest.cs

    r14277 r15191  
    3232    [TestProperty("Time", "short")]
    3333    public void IGraphWrappersVectorConstructionAndFinalizationTest() {
    34       var vector = new Vector(7);
    35       Assert.AreEqual(7, vector.Length);
    36       Assert.AreEqual(0, vector[0]);
    37       vector[0] = 4;
    38       var other = new Vector(vector);
    39       Assert.AreEqual(7, other.Length);
    40       Assert.AreEqual(4, other[0]);
    41 
     34      using (var vector = new Vector(7)) {
     35        Assert.AreEqual(7, vector.Length);
     36        Assert.AreEqual(0, vector[0]);
     37        vector[0] = 4;
     38        using (var other = new Vector(vector)) {
     39          Assert.AreEqual(7, other.Length);
     40          Assert.AreEqual(4, other[0]);
     41        }
     42      }
    4243      var myvec = new double[] { 1, 2, 3 };
    43       vector = new Vector(myvec);
    44       Assert.AreEqual(3, vector.Length);
    45       Assert.AreEqual(myvec[0], vector[0]);
    46       Assert.AreEqual(myvec[1], vector[1]);
    47       Assert.AreEqual(myvec[2], vector[2]);
     44      using (var vector = new Vector(myvec)) {
     45        Assert.AreEqual(3, vector.Length);
     46        Assert.AreEqual(myvec[0], vector[0]);
     47        Assert.AreEqual(myvec[1], vector[1]);
     48        Assert.AreEqual(myvec[2], vector[2]);
     49      }
    4850    }
    4951
     
    5355    [TestProperty("Time", "short")]
    5456    public void IGraphWrappersVectorGetSetTest() {
    55       var vector = new Vector(5);
    56       vector[0] = vector[1] = 4;
    57       vector[2] = 3;
    58       vector[3] = 1.5;
    59       vector[4] = -0.5;
    60       Assert.AreEqual(4, vector[0]);
    61       Assert.AreEqual(4, vector[1]);
    62       Assert.AreEqual(3, vector[2]);
    63       Assert.AreEqual(1.5, vector[3]);
    64       Assert.AreEqual(-0.5, vector[4]);
     57      using (var vector = new Vector(5)) {
     58        vector[0] = vector[1] = 4;
     59        vector[2] = 3;
     60        vector[3] = 1.5;
     61        vector[4] = -0.5;
     62        Assert.AreEqual(4, vector[0]);
     63        Assert.AreEqual(4, vector[1]);
     64        Assert.AreEqual(3, vector[2]);
     65        Assert.AreEqual(1.5, vector[3]);
     66        Assert.AreEqual(-0.5, vector[4]);
    6567
    66       var netmat = vector.ToArray();
    67       Assert.AreEqual(5, netmat.Length);
    68       for (var i = 0; i < netmat.Length; i++)
    69         Assert.AreEqual(vector[i], netmat[i]);
     68        var netmat = vector.ToArray();
     69        Assert.AreEqual(5, netmat.Length);
     70        for (var i = 0; i < netmat.Length; i++)
     71          Assert.AreEqual(vector[i], netmat[i]);
     72      }
    7073    }
    7174
     
    7578    [TestProperty("Time", "short")]
    7679    public void IGraphWrappersVectorFillTest() {
    77       var vector = new Vector(5);
    78       vector.Fill(2.3);
    79       Assert.IsTrue(new[] { 2.3, 2.3, 2.3, 2.3, 2.3 }.SequenceEqual(vector.ToArray()));
     80      using (var vector = new Vector(5)) {
     81        vector.Fill(2.3);
     82        Assert.IsTrue(new[] { 2.3, 2.3, 2.3, 2.3, 2.3 }.SequenceEqual(vector.ToArray()));
     83      }
    8084    }
    8185
     
    8589    [TestProperty("Time", "short")]
    8690    public void IGraphWrappersVectorReverseTest() {
    87       var vector = new Vector(5);
    88       vector[0] = vector[1] = 4;
    89       vector[2] = 3;
    90       vector[3] = 1.5;
    91       vector[4] = -0.5;
    92       vector.Reverse();
    93       Assert.IsTrue(new[] { -0.5, 1.5, 3, 4, 4 }.SequenceEqual(vector.ToArray()));
     91      using (var vector = new Vector(5)) {
     92        vector[0] = vector[1] = 4;
     93        vector[2] = 3;
     94        vector[3] = 1.5;
     95        vector[4] = -0.5;
     96        vector.Reverse();
     97        Assert.IsTrue(new[] { -0.5, 1.5, 3, 4, 4 }.SequenceEqual(vector.ToArray()));
     98      }
    9499    }
    95100
     
    99104    [TestProperty("Time", "short")]
    100105    public void IGraphWrappersVectorShuffleTest() {
    101       var vector = new Vector(5);
    102       vector[0] = vector[1] = 4;
    103       vector[2] = 3;
    104       vector[3] = 1.5;
    105       vector[4] = -0.5;
    106       vector.Shuffle();
    107       Assert.IsFalse(new[] { -0.5, 1.5, 3, 4, 4 }.SequenceEqual(vector.ToArray()));
    108       Assert.IsFalse(new[] { 4, 4, 3, 1.5, -0.5 }.SequenceEqual(vector.ToArray()));
     106      var different = 0;
     107      for (var i = 0; i < 100; i++) {
     108        using (var vector = new Vector(5)) {
     109          vector[0] = vector[1] = 4;
     110          vector[2] = 3;
     111          vector[3] = 1.5;
     112          vector[4] = -0.5;
     113          vector.Shuffle();
     114          var result = vector.ToArray();
     115          if (!result.SequenceEqual(new double[] { 4, 4, 3, 1.5, -0.5 }))
     116            different++;
     117          Assert.AreEqual(2, result.Count(x => x == 4));
     118          Assert.AreEqual(1, result.Count(x => x == 3));
     119          Assert.AreEqual(1, result.Count(x => x == 1.5));
     120          Assert.AreEqual(1, result.Count(x => x == -0.5));
     121        }
     122      }
     123      // There should be reasonable low probability that all 100 shuffles result in exactly the same vector
     124      Assert.IsTrue(different > 0);
    109125    }
    110126
     
    114130    [TestProperty("Time", "short")]
    115131    public void IGraphWrappersVectorScaleTest() {
    116       var vector = new Vector(5);
    117       vector[0] = vector[1] = 4;
    118       vector[2] = 3;
    119       vector[3] = 1.5;
    120       vector[4] = -0.5;
    121       vector.Scale(2);
    122       Assert.IsTrue(new double[] { 8, 8, 6, 3, -1 }.SequenceEqual(vector.ToArray()));
     132      using (var vector = new Vector(5)) {
     133        vector[0] = vector[1] = 4;
     134        vector[2] = 3;
     135        vector[3] = 1.5;
     136        vector[4] = -0.5;
     137        vector.Scale(2);
     138        Assert.IsTrue(new double[] { 8, 8, 6, 3, -1 }.SequenceEqual(vector.ToArray()));
     139      }
    123140    }
    124141  }
Note: See TracChangeset for help on using the changeset viewer.