Пример #1
0
        public void GetSetClassVariablesInSubclass()
        {
            Machine machine = new Machine();
            IClass bclass = new BaseClass("MyClass", machine);
            IClass bsubclass = new BaseClass(null, "MySubClass", bclass, machine, null);

            bclass.DefineClassVariable("Count");
            bclass.DefineClassVariable("Items");
            bsubclass.DefineClassVariable("Value");

            int countoffset = bsubclass.GetClassVariableOffset("Count");
            int itemsoffset = bsubclass.GetClassVariableOffset("Items");
            int valueoffset = bsubclass.GetClassVariableOffset("Value");

            Assert.AreEqual(0, countoffset);
            Assert.AreEqual(1, itemsoffset);
            Assert.AreEqual(2, valueoffset);

            bsubclass.SetClassVariable(countoffset, 1);
            bsubclass.SetClassVariable(itemsoffset, "foo");
            bsubclass.SetClassVariable(valueoffset, "value");

            Assert.AreEqual(1, bclass.GetClassVariable(countoffset));
            Assert.AreEqual("foo", bclass.GetClassVariable(itemsoffset));
            Assert.AreEqual(1, bsubclass.GetClassVariable(countoffset));
            Assert.AreEqual("foo", bsubclass.GetClassVariable(itemsoffset));
            Assert.AreEqual("value", bsubclass.GetClassVariable(valueoffset));
        }
Пример #2
0
        public void GetSetClassVariables()
        {
            Machine machine = new Machine();
            IClass bclass = new BaseClass("MyClass", machine);

            bclass.DefineClassVariable("Count");
            bclass.DefineClassVariable("Items");

            int countoffset = bclass.GetClassVariableOffset("Count");
            int itemsoffset = bclass.GetClassVariableOffset("Items");

            Assert.AreEqual(0, countoffset);
            Assert.AreEqual(1, itemsoffset);

            bclass.SetClassVariable(countoffset, 1);
            bclass.SetClassVariable(itemsoffset, "foo");

            Assert.AreEqual(1, bclass.GetClassVariable(countoffset));
            Assert.AreEqual("foo", bclass.GetClassVariable(itemsoffset));
        }