示例#1
0
        static void Main(string[] args)
        {
            MyCallback myCallbackObj = new MyCallback();
            CppClass   instance      = MyDLL.CreateInstance();

            string str = "テストHello World!";

            instance.SetString(str);
            Debug.WriteLine($"str = {instance.GetString()}");

            FloatVector v = new FloatVector();

            v.Add((float)-0.1);
            v.Add((float)-1);
            v.Add((float)-10);
            int i = 0;

            instance.SetVector(v);
            FloatVector buf = instance.GetVector();

            foreach (float value in buf)
            {
                Debug.WriteLine($"[{i}] :value = {value}");
                i += 1;
            }

            instance.SetCallback(myCallbackObj);
            instance.ExeCallback();
        }
示例#2
0
        public void Add()
        {
            FloatVector a = new FloatVector(new float[4] {
                0, 1, 2, 3
            });
            FloatVector b = new FloatVector(new float[4] {
                4, 5, 6, 7
            });
            FloatVector c = new FloatVector(a.Length);
            FloatVector d = new FloatVector(b.Length);

            c = a + b;
            d = FloatVector.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]);
        }
        private static FloatVector CreateFloatVector(params float[] inputValues)
        {
            FloatVector vector = new FloatVector();

            foreach (var inputValue in inputValues)
            {
                vector.Add(inputValue);
            }

            return(vector);
        }
示例#4
0
        public void IList()
        {
            FloatVector a = new FloatVector(new float[4] {
                0, 1, 2, 3
            });

            Assert.AreEqual(a.IsFixedSize, false);
            Assert.AreEqual(a.IsReadOnly, false);

            a.Add(4.0f);
            Assert.AreEqual(a.Length, 5);
            Assert.AreEqual(a[4], 4);
            Assert.AreEqual(a.Contains(4.0f), true);

            a.Insert(1, 5.0f);
            Assert.AreEqual(a.Length, 6);
            Assert.AreEqual(a.Contains(5.0f), true);
            Assert.AreEqual(a[0], 0);
            Assert.AreEqual(a[1], 5);
            Assert.AreEqual(a[2], 1);
            Assert.AreEqual(a[3], 2);
            Assert.AreEqual(a[4], 3);
            Assert.AreEqual(a[5], 4);

            a.Remove(5.0f);
            Assert.AreEqual(a.Length, 5);
            Assert.AreEqual(a.Contains(5.0f), false);
            Assert.AreEqual(a[0], 0);
            Assert.AreEqual(a[1], 1);
            Assert.AreEqual(a[2], 2);
            Assert.AreEqual(a[3], 3);
            Assert.AreEqual(a[4], 4);

            a.RemoveAt(2);
            Assert.AreEqual(a.Length, 4);
            Assert.AreEqual(a.Contains(2.0f), false);
            Assert.AreEqual(a[0], 0);
            Assert.AreEqual(a[1], 1);
            Assert.AreEqual(a[2], 3);
            Assert.AreEqual(a[3], 4);
        }