Changeset 15191 for trunk/sources/HeuristicLab.Tests/HeuristicLab.IGraph/IGraphWrappersVectorTest.cs
- Timestamp:
- 07/11/17 11:19:37 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Tests/HeuristicLab.IGraph/IGraphWrappersVectorTest.cs
r14277 r15191 32 32 [TestProperty("Time", "short")] 33 33 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 } 42 43 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 } 48 50 } 49 51 … … 53 55 [TestProperty("Time", "short")] 54 56 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]); 65 67 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 } 70 73 } 71 74 … … 75 78 [TestProperty("Time", "short")] 76 79 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 } 80 84 } 81 85 … … 85 89 [TestProperty("Time", "short")] 86 90 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 } 94 99 } 95 100 … … 99 104 [TestProperty("Time", "short")] 100 105 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); 109 125 } 110 126 … … 114 130 [TestProperty("Time", "short")] 115 131 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 } 123 140 } 124 141 }
Note: See TracChangeset
for help on using the changeset viewer.