Beispiel #1
0
 public void IndexAccessGetNegative()
 {
     ComplexDoubleVector a = new ComplexDoubleVector(new double[2] {
         0, 1
     });
     Complex b = a[-1];
 }
Beispiel #2
0
 public void IndexAccessGetOutOfRange()
 {
     ComplexDoubleVector a = new ComplexDoubleVector(new double[2] {
         0, 1
     });
     Complex b = a[2];
 }
Beispiel #3
0
 public void CtorDimensionsNegative()
 {
     Assert.Throws(typeof(ArgumentException), () =>
     {
         var test = new ComplexDoubleVector(-1);
     });
 }
Beispiel #4
0
        public void Subtract()
        {
            ComplexDoubleVector a = new ComplexDoubleVector(new double[4] {
                0, 1, 2, 3
            });
            ComplexDoubleVector b = new ComplexDoubleVector(new double[4] {
                4, 5, 6, 7
            });
            ComplexDoubleVector c = new ComplexDoubleVector(a.Length);
            ComplexDoubleVector d = new ComplexDoubleVector(b.Length);

            c = a - b;
            d = ComplexDoubleVector.Subtract(a, b);

            Assert.AreEqual(c[0], a[0] - b[0]);
            Assert.AreEqual(c[1], a[1] - b[1]);
            Assert.AreEqual(c[2], a[2] - b[2]);
            Assert.AreEqual(c[3], a[3] - b[3]);

            Assert.AreEqual(d[0], c[0]);
            Assert.AreEqual(d[1], c[1]);
            Assert.AreEqual(d[2], c[2]);
            Assert.AreEqual(d[3], c[3]);

            a.Subtract(b);

            Assert.AreEqual(c[0], a[0]);
            Assert.AreEqual(c[1], a[1]);
            Assert.AreEqual(c[2], a[2]);
            Assert.AreEqual(c[3], a[3]);
        }
Beispiel #5
0
        public void GetEnumerator()
        {
            ComplexDoubleVector a = new ComplexDoubleVector(new Complex[4] {
                0, 1, 2, 3
            });
            IEnumerator dve = a.GetEnumerator();
            Complex     b;
            bool        c;

            c = dve.MoveNext();
            b = (Complex)dve.Current;
            Assert.AreEqual(c, true);
            Assert.AreEqual(b, (Complex)0);

            c = dve.MoveNext();
            b = (Complex)dve.Current;
            Assert.AreEqual(c, true);
            Assert.AreEqual(b, (Complex)1);

            c = dve.MoveNext();
            b = (Complex)dve.Current;
            Assert.AreEqual(c, true);
            Assert.AreEqual(b, (Complex)2);

            c = dve.MoveNext();
            b = (Complex)dve.Current;
            Assert.AreEqual(c, true);
            Assert.AreEqual(b, (Complex)3);

            c = dve.MoveNext();
            Assert.AreEqual(c, false);
        }
Beispiel #6
0
        public void Add()
        {
            ComplexDoubleVector a = new ComplexDoubleVector(new double[4] {
                0, 1, 2, 3
            });
            ComplexDoubleVector b = new ComplexDoubleVector(new double[4] {
                4, 5, 6, 7
            });
            ComplexDoubleVector c = new ComplexDoubleVector(a.Length);
            ComplexDoubleVector d = new ComplexDoubleVector(b.Length);

            c = a + b;
            d = ComplexDoubleVector.Add(a, b);

            Assert.AreEqual(c[0], a[0] + b[0]);
            Assert.AreEqual(c[1], a[1] + b[1]);
            Assert.AreEqual(c[2], a[2] + b[2]);
            Assert.AreEqual(c[3], a[3] + b[3]);

            Assert.AreEqual(d[0], c[0]);
            Assert.AreEqual(d[1], c[1]);
            Assert.AreEqual(d[2], c[2]);
            Assert.AreEqual(d[3], c[3]);

            a.Add(b);

            Assert.AreEqual(c[0], a[0]);
            Assert.AreEqual(c[1], a[1]);
            Assert.AreEqual(c[2], a[2]);
            Assert.AreEqual(c[3], a[3]);
        }
Beispiel #7
0
        public void Equals()
        {
            var a = new ComplexDoubleVector(2, 4);
            var b = new ComplexDoubleVector(2, 4);
            var c = new ComplexDoubleVector(2)
            {
                [0] = 4,
                [1] = 4
            };

            var d = new ComplexDoubleVector(2, 5);
            ComplexDoubleVector e = null;
            var f = new FloatVector(2, 4);

            Assert.IsTrue(a.Equals(b));
            Assert.IsTrue(b.Equals(a));
            Assert.IsTrue(a.Equals(c));
            Assert.IsTrue(b.Equals(c));
            Assert.IsTrue(c.Equals(b));
            Assert.IsTrue(c.Equals(a));
            Assert.IsFalse(a.Equals(d));
            Assert.IsFalse(d.Equals(b));
            Assert.IsFalse(a.Equals(e));
            Assert.IsFalse(a.Equals(f));
        }
Beispiel #8
0
        public void GetIndex()
        {
            ComplexDoubleVector a = new ComplexDoubleVector(new double[4] {
                1, 2, 3, 4
            });
            ComplexDoubleVector b = new ComplexDoubleVector(new double[4] {
                3, 2, 1, 0
            });
            ComplexDoubleVector c = new ComplexDoubleVector(new double[4] {
                0, -1, -2, -3
            });
            ComplexDoubleVector d = new ComplexDoubleVector(new double[4] {
                -3, -2, -1, 0
            });

            Assert.AreEqual(a.GetAbsMaximumIndex(), 3);
            Assert.AreEqual(b.GetAbsMaximumIndex(), 0);
            Assert.AreEqual(c.GetAbsMaximumIndex(), 3);
            Assert.AreEqual(d.GetAbsMaximumIndex(), 0);

            Assert.AreEqual(a.GetAbsMaximum(), (Complex)4);
            Assert.AreEqual(b.GetAbsMaximum(), (Complex)3);
            Assert.AreEqual(c.GetAbsMaximum(), (Complex)(-3));
            Assert.AreEqual(d.GetAbsMaximum(), (Complex)(-3));

            Assert.AreEqual(a.GetAbsMinimumIndex(), 0);
            Assert.AreEqual(b.GetAbsMinimumIndex(), 3);
            Assert.AreEqual(c.GetAbsMinimumIndex(), 0);
            Assert.AreEqual(d.GetAbsMinimumIndex(), 3);

            Assert.AreEqual(a.GetAbsMinimum(), (Complex)1);
            Assert.AreEqual(b.GetAbsMinimum(), (Complex)0);
            Assert.AreEqual(c.GetAbsMinimum(), (Complex)0);
            Assert.AreEqual(d.GetAbsMinimum(), (Complex)0);
        }
Beispiel #9
0
        public void CtorDimensions()
        {
            ComplexDoubleVector test = new ComplexDoubleVector(2);

            Assert.AreEqual(test.Length, 2);
            Assert.AreEqual(test[0], new Complex(0));
            Assert.AreEqual(test[1], new Complex(0));
        }
Beispiel #10
0
        public void CtorInitialValues()
        {
            ComplexDoubleVector test = new ComplexDoubleVector(2, new Complex(1, -1));

            Assert.AreEqual(test.Length, 2);
            Assert.AreEqual(test[0], new Complex(1, -1));
            Assert.AreEqual(test[1], new Complex(1, -1));
        }
Beispiel #11
0
 public void CurrentException()
 {
     ComplexDoubleVector test = new ComplexDoubleVector(new Complex[2] {
         1, 2
     });
     IEnumerator enumerator = test.GetEnumerator();
     object      value      = enumerator.Current;
 }
Beispiel #12
0
 public void CtorCopyNull()
 {
     Assert.Throws(typeof(ArgumentNullException), () =>
     {
         ComplexDoubleVector a = null;
         var b = new ComplexDoubleVector(a);
     });
 }
Beispiel #13
0
        public void CopyException()
        {
            ComplexDoubleVector a = new ComplexDoubleVector(new double[4] {
                0, 1, 2, 3
            });
            ComplexDoubleVector b = new ComplexDoubleVector(5);

            a.Copy(b);
        }
Beispiel #14
0
        public void GetEnumeratorException()
        {
            ComplexDoubleVector a = new ComplexDoubleVector(new Complex[4] {
                0, 1, 2, 3
            });
            IEnumerator dve = a.GetEnumerator();

            Complex b = (Complex)dve.Current;
        }
Beispiel #15
0
 public void IndexAccessSetOutOfRange()
 {
     Assert.Throws(typeof(IndexOutOfRangeException), () =>
     {
         var a = new ComplexDoubleVector(2)
         {
             [2] = 1
         };
     });
 }
Beispiel #16
0
 public void IndexAccessGetOutOfRange()
 {
     Assert.Throws(typeof(IndexOutOfRangeException), () =>
     {
         var a = new ComplexDoubleVector(new double[2] {
             0, 1
         });
         Complex b = a[2];
     });
 }
Beispiel #17
0
        public void TestHashCode()
        {
            ComplexDoubleVector a = new ComplexDoubleVector(2);

            a[0] = 0;
            a[1] = 1;

            int hash = a.GetHashCode();

            Assert.AreEqual(hash, 1);
        }
Beispiel #18
0
        public void SwapException()
        {
            ComplexDoubleVector a = new ComplexDoubleVector(new double[4] {
                0, 1, 2, 3
            });
            ComplexDoubleVector b = new ComplexDoubleVector(new double[5] {
                4, 5, 6, 7, 8
            });

            a.Swap(b);
        }
 public void CurrentException()
 {
     Assert.Throws(typeof(InvalidOperationException), () =>
     {
         var test = new ComplexDoubleVector(new Complex[2] {
             1, 2
         });
         IEnumerator enumerator = test.GetEnumerator();
         object value           = enumerator.Current;
     });
 }
Beispiel #20
0
        public void GetSubVector()
        {
            ComplexDoubleVector test = new ComplexDoubleVector(new double[4] {
                0, 1, 2, 3
            });
            ComplexDoubleVector subvector = test.GetSubVector(1, 2);

            Assert.AreEqual(subvector.Length, 2);
            Assert.AreEqual(subvector[0], test[1]);
            Assert.AreEqual(subvector[1], test[2]);
        }
Beispiel #21
0
        public void CtorCopy()
        {
            ComplexDoubleVector a = new ComplexDoubleVector(new double[2] {
                0, 1
            });
            ComplexDoubleVector b = new ComplexDoubleVector(a);

            Assert.AreEqual(b.Length, a.Length);
            Assert.AreEqual(b[0], a[0]);
            Assert.AreEqual(b[1], a[1]);
        }
        public void ForEach()
        {
            var test = new ComplexDoubleVector(new Complex[2] {
                1, 2
            });

            foreach (Complex f in test)
            {
                Assert.IsTrue(test.Contains(f));
            }
        }
Beispiel #23
0
        public void CopyException()
        {
            Assert.Throws(typeof(ArgumentException), () =>
            {
                var a = new ComplexDoubleVector(new double[4] {
                    0, 1, 2, 3
                });
                var b = new ComplexDoubleVector(5);

                a.Copy(b);
            });
        }
Beispiel #24
0
        public void CtorArray()
        {
            double[] testvector = new double[2] {
                0, 1
            };

            ComplexDoubleVector test = new ComplexDoubleVector(testvector);

            Assert.AreEqual(test.Length, testvector.Length);
            Assert.AreEqual(test[0], new Complex(testvector[0]));
            Assert.AreEqual(test[1], new Complex(testvector[1]));
        }
Beispiel #25
0
        public void TestHashCode()
        {
            var a = new ComplexDoubleVector(2)
            {
                [0] = 0,
                [1] = 1
            };

            int hash = a.GetHashCode();

            Assert.AreEqual(hash, 1);
        }
Beispiel #26
0
        public void GetEnumeratorException()
        {
            Assert.Throws(typeof(InvalidOperationException), () =>
            {
                var a = new ComplexDoubleVector(new Complex[4] {
                    0, 1, 2, 3
                });
                IEnumerator dve = a.GetEnumerator();

                var b = (Complex)dve.Current;
            });
        }
Beispiel #27
0
        public void ExplicitConversion()
        {
            ComplexDoubleVector a = new ComplexDoubleVector(new double[4] {
                0, 1, 2, 3
            });
            ComplexFloatVector b = (ComplexFloatVector)a;

            Assert.AreEqual(a.Length, b.Length);
            Assert.AreEqual((ComplexFloat)a[0], b[0]);
            Assert.AreEqual((ComplexFloat)a[1], b[1]);
            Assert.AreEqual((ComplexFloat)a[2], b[2]);
            Assert.AreEqual((ComplexFloat)a[3], b[3]);
        }
Beispiel #28
0
        public void ToArray()
        {
            double[] testvector = new double[2] {
                0, 1
            };
            ComplexDoubleVector test = new ComplexDoubleVector(testvector);

            Complex[] internaldata = test.ToArray();

            Assert.AreEqual(internaldata.Length, testvector.Length);
            Assert.AreEqual(internaldata[0], new Complex(testvector[0]));
            Assert.AreEqual(internaldata[1], new Complex(testvector[1]));
        }
Beispiel #29
0
        public void GetDotProduct()
        {
            ComplexDoubleVector a = new ComplexDoubleVector(new double[4] {
                0, 1, 2, 3
            });
            ComplexDoubleVector b = new ComplexDoubleVector(new double[4] {
                4, 5, 6, 7
            });

            Assert.AreEqual(a.GetDotProduct(), (Complex)14);
            Assert.AreEqual(b.GetDotProduct(), (Complex)126);
            Assert.AreEqual(a.GetDotProduct(b), (Complex)38);
            Assert.AreEqual(a.GetDotProduct(b), b.GetDotProduct(a));
        }
Beispiel #30
0
        public void SwapException()
        {
            Assert.Throws(typeof(ArgumentException), () =>
            {
                var a = new ComplexDoubleVector(new double[4] {
                    0, 1, 2, 3
                });
                var b = new ComplexDoubleVector(new double[5] {
                    4, 5, 6, 7, 8
                });

                a.Swap(b);
            });
        }