コード例 #1
0
ファイル: AllTests.cs プロジェクト: vlad-zapp/Mice
        public void CtorTest()
        {
            Soldier s1 = new Soldier();
            Assert.That(s1.IsAlive, Is.EqualTo(true));

            Soldier.StaticPrototype.Ctor = delegate { };
            Soldier s2 = new Soldier();
            Assert.That(s2.IsAlive, Is.EqualTo(false));

            Soldier.StaticPrototype.Ctor = self => self.xCtor();
            Soldier s3 = new Soldier();
            Assert.That(s3.IsAlive, Is.EqualTo(true));
        }
コード例 #2
0
ファイル: AllTests.cs プロジェクト: vlad-zapp/Mice
        public void VirtualCallTest()
        {
            Soldier s0 = new Soldier();
            s0.Rank = Rank.Captain;
            s0.Kill();
            Assert.That(s0.Rank, Is.EqualTo(Rank.General));
            Assert.That(s0.IsAlive, Is.EqualTo(false));

            Soldier s1 = new Soldier();
            s1.Rank = Rank.Captain;
            s1.SoldierPrototype.Kill = delegate { };
            s1.Kill();
            Assert.That(s1.Rank, Is.EqualTo(Rank.Captain));
            Assert.That(s1.IsAlive, Is.EqualTo(true));

            Soldier s2 = new Soldier();
            s2.Rank = Rank.Captain;
            s2.SoldierPrototype.Kill = self =>
                                       (self as Person).xKill();
            s2.Kill();
            Assert.That(s2.Rank, Is.EqualTo(Rank.Captain));
            Assert.That(s2.IsAlive, Is.EqualTo(false));
        }
コード例 #3
0
ファイル: AllTests.cs プロジェクト: vlad-zapp/Mice
        public void ExperementalTest()
        {
            Person p = new Person();
            p.Kill();
            var isAlive = p.IsAlive;
            p.PersonPrototype.set_Name = delegate(Person self, string name)
                                             {
                                                 Assert.That(self, Is.SameAs(p));
                                                 Assert.That(name, Is.EqualTo("ABC"));
                                                 self.xName = name;
                                             };
            p.Name = "ABC";
            Assert.That(p.Name, Is.EqualTo("ABC"));

            Soldier s = new Soldier();
            s.Rank = Rank.Captain;
            Assert.That(s.Rank, Is.EqualTo(Rank.Captain));
            Soldier.StaticPrototype.get_Rank = self => Rank.Lieutenant;
            Assert.That(s.Rank, Is.EqualTo(Rank.Lieutenant));

            Assert.That(Person.IsThereTrueLove, Is.EqualTo(false));
            Person.StaticPrototype.get_IsThereTrueLove = () => true;
            Assert.That(Person.IsThereTrueLove, Is.EqualTo(true));
        }