Exemple #1
0
        public void Test2str()
        {
            StructValue sv = new StructValue(mt1, vf);

            Assert.AreEqual("one(785945377): {}", sv.ToString());

            sv = new StructValue(mt2, vf);
            Assert.AreEqual("two(827843303): {}", sv.ToString());

            sv = new StructValue(mt1, vf);
            sv.Add(mf1, true);
            Assert.AreEqual("one(785945377): {f1(1512176592)=True}", sv.ToString());

            sv = new StructValue(mt1, vf);
            sv.Add(mf3, 23);
            Assert.AreEqual("one(785945377): {f3(1512176594)=23}", sv.ToString());

            sv = new StructValue(mt1, vf);
            sv.Add(mf1, false);
            sv.Add(mf3, 74);
            Assert.AreEqual("one(785945377): {f1(1512176592)=False, f3(1512176594)=74}", sv.ToString());
        }
Exemple #2
0
        public void Put3()
        {
            StructValue sv = new StructValue(mt1, vf);

            sv.Add(mf1, false);
            sv.Add(mf2, new Boolean[] { true, false });
            sv.Add(mf3, 1);
            sv.Add(mf4, new int[] { 1, 2 });
            sv.Add(mf5, "a");
            sv.Add(mf6, new String[] { "a", "b" });
            Assert.AreEqual(6, sv.Count);

            // now "remove" them all

            sv.Add(mf1, null);
            sv.Add(mf2, null);
            sv.Add(mf3, null);
            sv.Add(mf4, null);
            sv.Add(mf5, null);
            sv.Add(mf6, null);
            Assert.AreEqual(0, sv.Count);
        }
Exemple #3
0
        public void Get()
        {
            StructValue sv = new StructValue(mt1, vf);

            Assert.IsTrue(sv.Count == 0);
            Assert.AreEqual(0, sv.Count);
            Assert.IsNull(sv.Get(mf1));

            sv.Add(mf1, true);
            Assert.IsFalse(sv.Count == 0);
            Assert.AreEqual(1, sv.Count);
            Assert.AreEqual(true, sv.Get(mf1));

            sv.Add(mf1, false);
            Assert.IsFalse(sv.Count == 0);
            Assert.AreEqual(1, sv.Count);
            Assert.AreEqual(false, sv.Get(mf1));

            sv.Add(mf1, null);
            Assert.IsTrue(sv.Count == 0);
            Assert.AreEqual(0, sv.Count);
            Assert.IsNull(sv.Get(mf1));
        }
Exemple #4
0
        public void Iterator()
        {
            StructValue sv = new StructValue(mt1, vf);

            Assert.IsFalse(sv.GetEnumerator().MoveNext());

            sv.Add(mf1, true);

            IEnumerator <KeyValuePair <Field, Object> > it = sv.GetEnumerator();

            Assert.IsTrue(it.MoveNext());
            KeyValuePair <Field, Object> me = it.Current;

            Assert.AreEqual(mf1, me.Key);
            Assert.AreEqual(true, me.Value);
            Assert.IsFalse(it.MoveNext());

            Dictionary <Field, Object> vals = new Dictionary <Field, object>();

            vals.Add(mf1, true);
            vals.Add(mf3, 2);
            vals.Add(mf5, "a");

            sv.Add(mf3, 2);
            sv.Add(mf5, "a");

            it = sv.GetEnumerator();
            while (it.MoveNext())
            {
                me = it.Current;
                Field key = me.Key;
                Assert.IsTrue(vals.ContainsKey(key));
                Assert.AreEqual(vals[key], me.Value);
                vals.Remove(key);
            }
            Assert.IsTrue(vals.Count == 0);
        }
Exemple #5
0
        public void put15()
        {
            StructValue sv = new StructValue(mt1, vf);

            sv.Add(mf2, new Boolean[][] {});
        }
Exemple #6
0
        public void put14()
        {
            StructValue sv = new StructValue(mt1, vf);

            sv.Add(mf2, true);
        }
Exemple #7
0
        public void put12()
        {
            StructValue sv = new StructValue(mt1, vf);

            sv.Add(mf2, null);
        }
Exemple #8
0
        public void put11()
        {
            StructValue sv = new StructValue(mt1, vf);

            sv.Add(mf1, "a");           // wrong type
        }
Exemple #9
0
        public void put9()
        {
            StructValue sv = new StructValue(mt1, vf);

            sv.Add(mf1, (float)1.2);            // wrong type
        }
Exemple #10
0
        public void put8()
        {
            StructValue sv = new StructValue(mt1, vf);

            sv.Add(mf1, (long)1);            // wrong type
        }
Exemple #11
0
        public void put6()
        {
            StructValue sv = new StructValue(mt1, vf);

            sv.Add(mf1, (short)1);            // wrong type
        }
Exemple #12
0
        public void put5()
        {
            StructValue sv = new StructValue(mt1, vf);

            sv.Add(mf1, (sbyte)1);            // wrong type
        }
Exemple #13
0
 /// <summary>
 /// Imports a value from an equivalent StructValue.
 /// </summary>
 /// <param name="sv">a StructValue representing the exported value.</param>
 /// <returns>a service defined type.</returns>
 public virtual Object ImportValue(StructValue sv)
 {
     return(iv(sv));
 }
Exemple #14
0
 public Object ImportCustomValue(StructValue sv)
 {
     throw new NotSupportedException("not implemented");
 }