public void ChildPropery_should_display_at_end()
            {
                var person = new Man { Name = "Jerry", Age = 28, Birthday = new DateTime(1983, 1, 1), WifeCount = 0 };
                var personString = ResultBuilder.BuildInstance(person);

                Assert.Equal("[Name,Age,Birthday,Reserved,WifeCount]Jerry;28;19830101000000;;0", personString);
            }
Example #2
0
 static void Main(string[] args)
 {
     HelperLinqToObjects helper = new HelperLinqToObjects();
     Console.WriteLine("Display all public interfaces and their method sum\n");
     helper.DisplayInterMethodSumNonQuery();
     Console.WriteLine("\nDisplay all current processes that thread count < 5\n");
     helper.DisplayProcessesNonQuery();
     Console.WriteLine("\nDisplay all current processes by base priority\n");
     helper.DisplayProcessesByBasePriorityQuery();
     helper.DisplayProcessesSum();
     Man man = new Man();
     Woman woman = new Woman();
     man.Adress = "Jerusalem";
     man.Name = "Yossi";
     man.Weight = 70;
     man.CopyTo(woman);
     Console.WriteLine("man:");
     Console.WriteLine(man);
     Console.WriteLine("woman:");
     Console.WriteLine(woman);
     man.Adress = "Tel - Aviv";
     man.Name = "Avi";
     man.Weight = 80;
     man.CopyTo(woman);
     Console.WriteLine("man:");
     Console.WriteLine(man);
     Console.WriteLine("woman:");
     Console.WriteLine(woman);
 }
Example #3
0
    public static void Main(string[] args)
    {
        // setup test data
        var PlatformSet = new HashSet<Platform>();
        Platform Platform0;
        PlatformSet.Add(Platform0 = new Platform());
        var ManSet = new HashSet<Man>();
        Man Man0;
        ManSet.Add(Man0 = new Man());
        Man Man1;
        ManSet.Add(Man1 = new Man());
        Man0.ceiling = Platform0;
        Man1.ceiling = Platform0;
        Man0.floor = Platform0;
        Man1.floor = Platform0;
        var DateSet = new HashSet<Date>();
        var PersonSet = new HashSet<Person>();
        Eve Eve0;
        PersonSet.Add(Eve0 = Eve.Instance);
        var WomanSet = new HashSet<Woman>();
        WomanSet.Add(Eve0);
        var EveSet = new HashSet<Eve>();
        EveSet.Add(Eve0);

        // check test data
        Contract.Assert(Contract.ForAll(ManSet, m => ManSet.Where(n => FuncClass.Above(m, n)).Count() == 1), "BelowToo");
    }
Example #4
0
    public Item()
    {
        _life = _maxLife = 20f;
        state = STATE.ON_GROUND;
        _owner = null;

        state = STATE.ON_GROUND;
    }
Example #5
0
    public void SetOwner(Man owner)
    {
        _owner = owner;
        state = STATE.IN_HAND;

        // hide
        gameObject.GetComponent<Collider2D>().isTrigger = true;
        gameObject.transform.position = new Vector3(0f, 0f, -100f);
    }
Example #6
0
        private static void Equality()
        {
            var man = new Man() { FirstName = "Jon", LastName = "Efterman", Age = 30, SocialSecnr = 123123 };
            var man2 = new Man() { FirstName = "Jon", LastName = "Efterman", Age = 30, SocialSecnr = 123123 };

            if (man == man2)
                Console.WriteLine(true);
            else
                Console.WriteLine(false);
        }
Example #7
0
        private static void Family()
        {
            var man = new Man() { FirstName = "Jon", LastName = "Efterman", Age = 30, SocialSecnr = 123123 };
            var woman = new Woman() { FirstName = "Johanna", LastName = "Efterwoman", Age = 32, SocialSecnr = 098098 };

            var c = man + woman;
            var c2 = woman + man;
            Console.WriteLine($" M + W: {c}");
            Console.WriteLine($"W + M: {c2}");

            var woMan = (Man) woman;
            Console.WriteLine($"WoMan: {woMan}");
        }
Example #8
0
 public void CreateMan(int personalNumber)
 {
     Man person = new Man();
     person.Age = personalNumber;
     if (personalNumber % 2 == 0)
     {
         person.Name = "Adam";
         person.Sex = Gender.Male;
     }
     else
     {
         person.Name = "Eve";
         person.Sex = Gender.Female;
     }
 }
Example #9
0
 public ManBuilder()
 {
     person = new Man();
 }
Example #10
0
 public abstract void GetManConclusion(Man concreteElementA);
Example #11
0
 protected override void Arrange()
 {
     man = new Man("Cohn", "Mike", "Male", "Pink", new DateTime(1960, 1, 1));
 }
Example #12
0
 public abstract void VisitMan(Man Element);
Example #13
0
 public LoginResult(LoginResultEnum result, Man man, string message)
 {
     Result  = result;
     Man     = man;
     Message = message;
 }
Example #14
0
	public static void init(Man m, Control c) {
		man = m;
		control = c;
	}
Example #15
0
        public void sessionPoolTest()
        {
            const int numberOfSessions = 5;

            using (SessionPool pool = new SessionPool(numberOfSessions, () => new SessionNoServer(systemDir)))
            {
                {
                    int         sessionId = -1;
                    SessionBase session   = null;
                    try
                    {
                        session = pool.GetSession(out sessionId);
                        using (SessionBase.Transaction transaction = session.BeginUpdate())
                        {
                            for (int i = 0; i < 1000; i++)
                            {
                                Man man = new Man();
                                session.Persist(man);
                            }
                            session.Commit();
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        throw e;
                    }
                    finally
                    {
                        pool.FreeSession(sessionId, session);
                    }
                }

                Parallel.ForEach(Enumerable.Range(0, numberOfSessions * 5),
                                 x =>
                {
                    int sessionId       = -1;
                    SessionBase session = null;
                    try
                    {
                        session = pool.GetSession(out sessionId);
                        if (session.InTransaction == false)
                        {
                            session.BeginRead();
                        }
                        var allMen     = session.AllObjects <Man>();
                        ulong allMenCt = allMen.Count();
                        foreach (Man man in allMen)
                        {
                            double lat = man.Latitude;
                        }
                        Console.WriteLine("Man Count is: " + allMenCt + " Session Id is: " + sessionId + " Current task id is: " + (Task.CurrentId.HasValue ? Task.CurrentId.Value.ToString() : "unknown"));
                    }
                    catch (Exception e)
                    {
                        session?.Abort();
                        Console.WriteLine(e.Message);
                        throw e;
                    }
                    finally
                    {
                        pool.FreeSession(sessionId, session);
                    }
                });
            }
        }
Example #16
0
        //Пример группировки.
        static void Main(string[] args)
        {
            List <Man> persons = new List <Man>()
            {
                Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan()
            };

            var queryMenByFirstName =
                from person in persons
                // Группировка по полю FirstName.
                group person by person.FirstName;

            // customerGroup is an IGrouping<string, Customer>
            foreach (var manGroup in queryMenByFirstName)
            {
                Console.WriteLine(manGroup.Key);
                foreach (var person in manGroup)
                {
                    Console.WriteLine(person.ManInfo());
                }
            }
            Console.ReadLine();
        }
Example #17
0
        public async System.Threading.Tasks.Task CircularReferencesAsync()
        {
            using (var session = OpenSession())
                using (var tran = session.BeginTransaction())
                {
                    var jeanne = new Woman {
                        Name = "Jeanne"
                    };
                    var paul = new Man {
                        Name = "Paul"
                    };

                    var paulette = new Woman {
                        Name = "Paulette", Mother = jeanne, Father = paul
                    };
                    var monique = new Woman {
                        Name = "Monique", Mother = jeanne, Father = paul
                    };
                    var alice = new Woman {
                        Name = "Alice", Mother = jeanne, Father = paul
                    };
                    var yves = new Man {
                        Name = "Yves", Mother = jeanne, Father = paul
                    };
                    var denis = new Man {
                        Name = "Denis", Mother = jeanne, Father = paul
                    };

                    var laure = new Woman {
                        Name = "Laure", Mother = paulette
                    };
                    var valerie = new Woman {
                        Name = "Valérie", Mother = paulette
                    };
                    var caroline = new Woman {
                        Name = "Caroline", Mother = monique
                    };
                    var cathy = new Woman {
                        Name = "Cathy", Father = yves
                    };
                    var helene = new Woman {
                        Name = "Hélène", Father = yves
                    };
                    var nicolas = new Man {
                        Name = "Nicolas", Mother = monique
                    };
                    var frederic = new Man {
                        Name = "Frédéric", Mother = monique
                    };
                    var arnaud = new Man {
                        Name = "Arnaud", Father = denis
                    };

                    await(session.SaveAsync(alice));
                    await(session.SaveAsync(laure));
                    await(session.SaveAsync(valerie));
                    await(session.SaveAsync(caroline));
                    await(session.SaveAsync(cathy));
                    await(session.SaveAsync(helene));
                    await(session.SaveAsync(nicolas));
                    await(session.SaveAsync(frederic));
                    await(session.SaveAsync(arnaud));

                    Assert.DoesNotThrowAsync(() => { return(tran.CommitAsync()); });
                }

            using (var session = OpenSession())
                using (var tran = session.BeginTransaction())
                {
                    Assert.AreEqual(9, await(session.Query <Woman>().CountAsync()));
                    Assert.AreEqual(6, await(session.Query <Man>().CountAsync()));
                }
        }
Example #18
0
        static void Main(string[] args)
        {
            Man man   = new Man(20, "John", 500);
            Man woman = new Man(19, "Alice", 200);

            Man[]        men          = new Man[] { man, woman };
            ManException manException = new ManException("message", 123);

            WriteLine("Binary serialization: ");
            BinaryFormatter Bformatter = new BinaryFormatter();

            using (FileStream fs = new FileStream("binary.dat", FileMode.OpenOrCreate))
            {
                Bformatter.Serialize(fs, man);
            }
            using (FileStream fs = new FileStream("binary.dat", FileMode.OpenOrCreate))
            {
                Man newMan = (Man)Bformatter.Deserialize(fs);
                WriteLine($"Name: {newMan.Name}, Age: {newMan.Age}, Money: {newMan.Money}");
            }

            WriteLine("\nSOAP serialization: ");
            SoapFormatter Sformatter = new SoapFormatter();

            using (FileStream fs = new FileStream("soap.dat", FileMode.OpenOrCreate))
            {
                Sformatter.Serialize(fs, man);
            }
            using (FileStream fs = new FileStream("soap.dat", FileMode.OpenOrCreate))
            {
                Man newMan = (Man)Sformatter.Deserialize(fs);
                WriteLine($"Name: {newMan.Name}, Age: {newMan.Age}, Money: {newMan.Money}");
            }

            WriteLine("\nXML serialization: ");
            XmlSerializer Xserializer = new XmlSerializer(typeof(Man));

            using (FileStream fs = new FileStream("X.xml", FileMode.OpenOrCreate))
            {
                Xserializer.Serialize(fs, man);
            }
            using (FileStream fs = new FileStream("X.xml", FileMode.OpenOrCreate))
            {
                Man newMan = (Man)Xserializer.Deserialize(fs);
                WriteLine($"Name: {newMan.Name}, Age: {newMan.Age}, Money: {newMan.Money}");
            }

            WriteLine("\nJSON serialization: ");
            DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Man));

            using (FileStream fs = new FileStream("jsonser.json", FileMode.OpenOrCreate))
            {
                jsonSerializer.WriteObject(fs, man);
            }
            using (FileStream fs = new FileStream("jsonser.json", FileMode.OpenOrCreate))
            {
                Man newMan = (Man)jsonSerializer.ReadObject(fs);
                WriteLine($"Name: {newMan.Name}, Age: {newMan.Age}, Money: {newMan.Money}");
            }

            WriteLine("\nBinary serialization of array: ");
            using (FileStream fs = new FileStream("mas.dat", FileMode.OpenOrCreate))
            {
                Bformatter.Serialize(fs, men);
            }
            using (FileStream fs = new FileStream("mas.dat", FileMode.OpenOrCreate))
            {
                Man[] newMen = (Man[])Bformatter.Deserialize(fs);
                WriteLine($"Name: {newMen[0].Name}, Age: {newMen[0].Age}, Money: {newMen[0].Money}");
                WriteLine($"Name: {newMen[1].Name}, Age: {newMen[1].Age}, Money: {newMen[1].Money}");
            }

            WriteLine("\nby XPath: ");
            XmlDocument xDoc = new XmlDocument();

            xDoc.Load("X.xml");
            XmlElement xRoot = xDoc.DocumentElement;
            XmlNode    child = xDoc.SelectSingleNode("//Man/name");

            if (child != null)
            {
                WriteLine(child.OuterXml);
            }
            XmlNodeList childs = xRoot.SelectNodes("*");

            foreach (XmlNode ch in childs)
            {
                WriteLine(ch.OuterXml);
            }

            WriteLine("\nLinq to XML:");
            XDocument  xDocument = new XDocument();
            XElement   man1      = new XElement("Name");
            XAttribute man1_name = new XAttribute("Name", "Leha");
            XElement   age1      = new XElement("Age", "21");
            XElement   money1    = new XElement("Money", "600");

            man1.Add(man1_name);
            man1.Add(age1);
            man1.Add(money1);

            XElement   man2      = new XElement("Name");
            XAttribute man2_name = new XAttribute("Name", "Serega");
            XElement   age2      = new XElement("Age", "22");
            XElement   money2    = new XElement("Money", "1000");

            man2.Add(man2_name);
            man2.Add(age2);
            man2.Add(money2);

            XElement   man3      = new XElement("Name");
            XAttribute man3_name = new XAttribute("Name", "Sanya");
            XElement   age3      = new XElement("Age", "20");
            XElement   money3    = new XElement("Money", "300");

            man3.Add(man3_name);
            man3.Add(age3);
            man3.Add(money3);

            XElement people = new XElement("people");

            people.Add(man1);
            people.Add(man2);
            people.Add(man3);

            xDocument.Add(people);
            xDocument.Save("Xlinq.xml");

            XDocument xdoc  = XDocument.Load("Xlinq.xml");
            var       byAge = from el in xdoc.Element("people").Elements("Name")
                              where Convert.ToInt32(el.Element("Age").Value) >= 21
                              select new Man
            {
                Name  = el.Attribute("Name").Value,
                Age   = Convert.ToInt32(el.Element("Age").Value),
                Money = Convert.ToInt32(el.Element("Money").Value)
            };

            WriteLine("Age is >= 21:");
            foreach (var el in byAge)
            {
                WriteLine($"Name: {el.Name}, Age: {el.Age}, Money: {el.Money}");
            }

            var byMoney = from el in xdoc.Element("people").Elements("Name")
                          where Convert.ToInt32(el.Element("Money").Value) >= 500
                          select new Man
            {
                Name  = el.Attribute("Name").Value,
                Age   = Convert.ToInt32(el.Element("Age").Value),
                Money = Convert.ToInt32(el.Element("Money").Value)
            };

            WriteLine("\nHas money >= 500");
            foreach (var el in byMoney)
            {
                WriteLine($"Name: {el.Name}, Age: {el.Age}, Money: {el.Money}");
            }
        }
        //Примеры сортировок
        static void Main(string[] args)
        {
            // Источник данных.
            int[] scores = new int[] { 100, 97, 92, 81, 60, -1, -2, -3, 0 };

            // Определите выражение запроса.
            var scoreQuery = scores.OrderBy(s => s);

            //from score in scores
            //orderby score
            //select score;

            // выполнение запроса.
            Console.WriteLine("Отсортированная коллекция по возрастанию.");
            foreach (int i in scoreQuery)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();

            // Определите выражение запроса.
            scoreQuery = scores.OrderByDescending(s => s);

            //from score in scores
            //orderby score descending
            //select score;

            // выполнение запроса.
            Console.WriteLine("Отсортированная коллекция по убыванию.");
            foreach (int i in scoreQuery)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();


            List <Man> persons = new List <Man>()
            {
                Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan()
            };

            foreach (var i in persons)
            {
                Console.WriteLine(i.ManInfo());
            }

            // Определите выражение запроса.
            var personQuery = persons.OrderBy(p => p.Age);

            //from person in persons
            //orderby person.Age
            //select person;

            Console.WriteLine("Отсортированная коллекция по возрастанию.");
            foreach (var i in personQuery)
            {
                Console.WriteLine(i.ManInfo());
            }

            // Определите выражение запроса.
            personQuery = persons.OrderByDescending(p => p.Age);
            //from person in persons
            //orderby person.Age descending
            //select person;

            Console.WriteLine("Отсортированная коллекция по убыванию.");
            foreach (var i in personQuery)
            {
                Console.WriteLine(i.ManInfo());
            }

            Console.ReadLine();
        }
Example #20
0
 public MapTile targetRandomMapTilePosition(Man man, Vector2 homePos, int homeLevel) // Used to get a path target for Humans
 {
     //Craetes a normal distributed range based off current level
     GameObject[] target = getNormalDistributionFromMap(homePos, 10 * homeLevel, whatIsTiles, 1);
     return(target[0].GetComponent <MapTile>());
 }
Example #21
0
 public static void Main(string[] args)
 {
     var man   = new Man();
     var kart  = new Kart();
     var alien = new Alien();
 }
Example #22
0
 public void ShowManConclusion(Man element)
 {
     Console.WriteLine($"失敗的{element.GetType().Name}");
 }
        public void BinaryDeserializationTest()
        {
            Man man = Man.BinaryDeserialization("Example.bin");

            Assert.NotNull(man);
        }
 public static void optional(string lastname, string firstname = "James", int age = 1)
 {
     // Optional parameters must appear AFTER all mandatory parameters to prevent compiler error.
     Man man = new Man("Steve", "Davis", 40);
 }
        public void JsonDeserializatioTest()
        {
            Man man = Man.JsonDeserialization("Example.json");

            Assert.NotNull(man);
        }
        public void OnTrigger(Player Session, Item Item, int Request, bool HasRights)
        {
            if (Item.ExtraData.Contains(Convert.ToChar(5).ToString()))
            {
                var Stuff = Item.ExtraData.Split(Convert.ToChar(5));
                Session.GetHabbo().Gender = Stuff[0].ToUpper();
                var NewFig = new Dictionary <string, string>();
                NewFig.Clear();
                foreach (var Man in Stuff[1].Split('.'))
                {
                    foreach (var Fig in Session.GetHabbo().Look.Split('.'))
                    {
                        if (Fig.Split('-')[0] == Man.Split('-')[0])
                        {
                            if (NewFig.ContainsKey(Fig.Split('-')[0]) && !NewFig.ContainsValue(Man))
                            {
                                NewFig.Remove(Fig.Split('-')[0]);
                                NewFig.Add(Fig.Split('-')[0], Man);
                            }
                            else if (!NewFig.ContainsKey(Fig.Split('-')[0]) && !NewFig.ContainsValue(Man))
                            {
                                NewFig.Add(Fig.Split('-')[0], Man);
                            }
                        }
                        else
                        {
                            if (!NewFig.ContainsKey(Fig.Split('-')[0]))
                            {
                                NewFig.Add(Fig.Split('-')[0], Fig);
                            }
                        }
                    }
                }

                var Final = "";
                foreach (var Str in NewFig.Values)
                {
                    Final += Str + ".";
                }


                Session.GetHabbo().Look = Final.TrimEnd('.');

                using (var dbClient = Program.DatabaseManager.GetQueryReactor())
                {
                    dbClient.SetQuery("UPDATE users SET look = @look, gender = @gender WHERE id = '" + Session.GetHabbo().Id + "' LIMIT 1");
                    dbClient.AddParameter("look", Session.GetHabbo().Look);
                    dbClient.AddParameter("gender", Session.GetHabbo().Gender);
                    dbClient.RunQuery();
                }

                var Room = Session.GetHabbo().CurrentRoom;
                if (Room != null)
                {
                    var User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Username);
                    if (User != null)
                    {
                        Session.SendPacket(new UserChangeComposer(User, true));
                        Session.GetHabbo().CurrentRoom.SendPacket(new UserChangeComposer(User, false));
                    }
                }
            }
        }
Example #27
0
 public override void GetManConclusion(Man man)
 {
     Console.WriteLine($"{man.GetType().Name} {GetType().Name} 时,背后多半有一个伟大的女人");
 }
Example #28
0
 public override void GetManConclusion(Man man)
 {
     Console.WriteLine($"{man.GetType().Name} {GetType().Name} 时,感慨道:恋爱游戏终结时,'有妻徒刑'遥无期");
 }
Example #29
0
        public void SimpleApiServer()
        {
            long   ssn = 555555;
            UInt16 age = 1;

            VelocityDbSchema.Person mats;
            Placement place;

            using (ServerClientSession session = new ServerClientSession(systemDir))
            {
                // skip delete database since it invalidates indices

                session.BeginUpdate();
                Database db = session.OpenDatabase(10, true, false);
                if (db != null)
                {
                    session.DeleteDatabase(db);
                }
                session.Commit();
                session.BeginUpdate();
                place = new Placement(10, 2, 1, 1, 10);
                DateTime birthday = new DateTime(1960, 6, 13);
                mats = new Man("Mats", "Persson", age++, ssn++, birthday);
                mats.Persist(place, session);
                session.Commit();
                session.ClearServerCache();
            }
            UInt64 mOid1 = Oid.Encode(10, 2, 1);

            using (ServerClientSession session = new ServerClientSession(systemDir))
            {
                session.BeginUpdate();
                UInt32 dbNum = Oid.DatabaseNumber(mOid1);
                mats = (VelocityDbSchema.Person)session.Open(mOid1);
                Woman kinga = null;
                mats = new Man("Mats", "Persson", age++, ssn++, new DateTime(1960, 6, 13));
                Cat cat = new Cat("Boze", 8);
                mats.m_pets.Add(cat);
                Bird bird = new Bird("Pippi", 1);
                cat.friends.Add(bird);
                mats.Persist(place, session);
                kinga = new Woman("Kinga", "Persson", age, ssn, mats, mats);
                kinga.Persist(place, session);
                VelocityDbSchema.Person robin = new VelocityDbSchema.Person("Robin", "Persson", 13, 1, mats, null);
                robin.Persist(place, session);
                mOid1 = mats.Id;
                mats  = null;
                mats  = (VelocityDbSchema.Person)session.Open(mOid1);
                session.Commit();
                session.ClearServerCache();
            }

            using (ServerClientSession session = new ServerClientSession(systemDir))
            {
                session.BeginUpdate();
                mats = (VelocityDbSchema.Person)session.Open(mOid1);
                session.Commit();
                session.ClearServerCache();
            }

            using (ServerClientSession session = new ServerClientSession(systemDir))
            {
                session.BeginRead();
                ulong mOid2 = mats.Id;
                mats = (VelocityDbSchema.Person)session.Open(mOid2);
                session.Commit();
                session.ClearServerCache();
            }
        }
Example #30
0
 public Move(Player player, Man man, BoardPosition oldPosition, BoardPosition newPosition, bool capture, Man transformedMan) : base(player)
 {
     this.man            = man;
     this.oldPosition    = oldPosition;
     this.newPosition    = newPosition;
     this.capture        = capture;
     this.transformedMan = transformedMan;
 }
Example #31
0
 public static void init(Man m, Control c)
 {
     man     = m;
     control = c;
 }
        public void SingleServerReaderSingleServerUpdater2(bool useReaderCommit)
        {
            const UInt32 dbNum = 567;

            using (ServerClientSession updater = new ServerClientSession(systemDir))
                using (ServerClientSession reader = new ServerClientSession(systemDir, null, 2000, true, false, false, CacheEnum.No)) // CacheEnum.No or cache validating on session.Begin() - makes test fail
                {
                    updater.BeginUpdate();
                    Database db = updater.OpenDatabase(dbNum, true, false);
                    if (db != null)
                    {
                        updater.DeleteDatabase(db);
                    }
                    updater.Checkpoint();
                    Man       man;
                    Placement place = new Placement(dbNum, 1, 1, 2);
                    for (int i = 0; i < 100; i++)
                    {
                        man = new Man();
                        man.Persist(place, updater);
                    }
                    updater.Commit();
                    reader.BeginRead();
                    db = reader.OpenDatabase(dbNum);
                    foreach (Page page in db)
                    {
                        Assert.True(page.PageInfo.VersionNumber == 1);
                    }
                    if (useReaderCommit)
                    {
                        reader.Commit();
                    }
                    updater.BeginUpdate();
                    if (useReaderCommit)
                    {
                        reader.BeginRead();
                    }
                    else
                    {
                        reader.ForceDatabaseCacheValidation();
                    }
                    for (int i = 1; i < 25; i++)
                    {
                        db = reader.OpenDatabase(dbNum);
                        foreach (Page page in db)
                        {
                            if (page.PageNumber > 0)
                            {
                                Assert.True(page.PageInfo.VersionNumber == (ulong)i);
                                Man man2       = (Man)reader.Open(dbNum, page.PageNumber, 1, false);
                                Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true);
                            }
                        }
                        updater.Commit(); // must commit updater first, we validate and update reader on BeginRead or ForceDatabaseCacheValidation
                        if (useReaderCommit)
                        {
                            reader.Commit();
                            reader.BeginRead();
                        }
                        else
                        {
                            reader.ForceDatabaseCacheValidation();
                        }
                        updater.BeginUpdate();
                    }
                    Database db2 = reader.OpenDatabase(dbNum);
                    db = updater.OpenDatabase(dbNum);
                    for (int i = 25; i < 50; i++)
                    {
                        foreach (Page page in db)
                        {
                            if (page.PageNumber > 0)
                            {
                                Assert.True(page.PageInfo.VersionNumber == (ulong)i);
                                Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true);
                            }
                        }
                        updater.FlushUpdates(); // now server will see updated version of pages
                        foreach (Page page in db2)
                        {
                            if (page.PageNumber > 0)
                            {                                                         // BUG Nov 8, 2011 1.0.4.0 reader sees version 28 when it should see version 27
                                Assert.True(page.PageInfo.VersionNumber == (ulong)i); // reader should see the commited version of the page, not the uncommited updated version
                                Man man2 = (Man)reader.Open(dbNum, page.PageNumber, 1, false);
                            }
                        }
                        reader.ClearPageCache(); // required or else we will use cached page and Assert (see line above) will fail
                        System.GC.Collect();     // force weak referenced pages to be garbage collected (again to avoid Assert failure)
                        updater.Checkpoint();
                    }
                    reader.Commit();
                    updater.DeleteDatabase(db);
                    updater.Commit();
                }
        }
        //Примеры фильтрации
        static void Main(string[] args)
        {
            // Источник данных.
            int[] scores = new int[] { 100, 97, 92, 81, 60, -1, -2, -3, 0 };

            // Определите выражение запроса.
            var scoreQuery =
                from score in scores
                where (score > 0 && score != 100)
                select score;

            // выполнение запроса.
            Console.WriteLine("Отфильтрованная коллекция.");
            foreach (int i in scoreQuery)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();

            List <Man> persons = new List <Man>()
            {
                Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan()
            };

            foreach (var i in persons)
            {
                Console.WriteLine(i.ManInfo());
            }

            // Определите выражение запроса.
            var personQuery =
                from person in persons
                where (person.FirstName != "Петр" && person.Age <= 40)
                select person;

            Console.WriteLine("Отфильтрованная коллекция.");
            foreach (var i in personQuery)
            {
                Console.WriteLine(i.ManInfo());
            }

            Console.ReadLine();
        }
    public override void VisitMan(Man Element)
    {
        //Debug.Log(Element.name + "is excusing");
        //如果物体和船在同一侧才能操作
        //Debug.Log(Element.side);
        //Debug.Log(Element.gameController.boat.side);
        //船不在移动,且游戏没有输时才可以对人进行操作
        if (Element.gameController.boat.isSwimming == false && Element.gameController.isLose == false)
        {
            if (Element.side == Element.gameController.boat.side)
            {
                //Debug.Log(Element.name + "on the same side");
                if (Element.isOnBoat == false && Element.gameController.boat.count < 2) //如果人在岸上且船未满
                {
                    //Debug.Log(Element.name + "is get on the boat");
                    for (int i = 0; i < Element.gameController.boat.isSeatEmpty.Length; i++)
                    {
                        if (Element.gameController.boat.isSeatEmpty[i] == true) //找到一个空位置做进去
                        {
                            //Debug.Log("find this seat: " + i);
                            Element.transform.position = Element.gameController.boat.seatPoints[i].position;
                            Element.transform.SetParent(Element.gameController.boat.transform);
                            Element.gameController.GetCurrentLandSide(Element.side).GetComponent <Land>().isSeatEmpty[Element.index] = true;
                            Element.gameController.boat.isSeatEmpty[i] = false;
                            Element.index    = i;
                            Element.isOnBoat = true;

                            Element.gameController.GetCurrentLandSide(Element.side).GetComponent <Land>().count--;
                            Element.gameController.GetCurrentLandSide(Element.side).GetComponent <Land>().manAndDevil -= Element.charactor;
                            Element.gameController.boat.count++;
                            Element.gameController.boat.manAndDevil += Element.charactor;
                            break;
                        }
                    }
                }
                else if (Element.isOnBoat == true)
                { //如果人在船上
                    Land currentLandSide = Element.gameController.GetCurrentLandSide(Element.gameController.boat.side).GetComponent <Land>();
                    //Debug.Log("current Land Side is " + currentLandSide.side);
                    for (int i = 0; i < currentLandSide.isSeatEmpty.Length; i++)
                    {
                        if (currentLandSide.isSeatEmpty[i] == true)
                        { //找到岸上的一个空位置坐进去
                            Element.transform.position = currentLandSide.seatPoints[i].position;
                            Element.transform.SetParent(currentLandSide.transform);
                            Element.gameController.boat.isSeatEmpty[Element.index] = true;
                            currentLandSide.isSeatEmpty[i] = false;
                            Element.index = i;

                            Element.gameController.GetCurrentLandSide(Element.side).GetComponent <Land>().count++;
                            Element.gameController.GetCurrentLandSide(Element.side).GetComponent <Land>().manAndDevil += Element.charactor;
                            Element.gameController.boat.manAndDevil -= Element.charactor;
                            Element.gameController.boat.count--;
                            Element.isOnBoat = false;
                            break;
                        }
                    }
                }
            }
        }
    }
Example #35
0
 public override void GetManConclusion(Man concreteElementA)
 {
     System.Console.WriteLine("{0} {1}时,闷头喝酒,谁也不用劝。", concreteElementA.GetType().Name, this.GetType().Name);
 }
Example #36
0
 public bool Test(Man other) => a == other.a;
 [TestCase(false)] // test will fail if pessimistic locking is used
 public void SingleReaderSingleUpdater4(bool useReaderCommit)
 {
     using (SessionNoServer updater = new SessionNoServer(systemDir, 5000))
         using (SessionNoServer reader = new SessionNoServer(systemDir, 5000))
         {
             //updater.SetTraceAllDbActivity();
             //reader.SetTraceAllDbActivity();
             updater.BeginUpdate();
             UInt32   dbNum = updater.DatabaseNumberOf(typeof(Man));
             Database db    = updater.OpenDatabase(dbNum, true, false);
             if (db != null)
             {
                 updater.DeleteDatabase(db);
             }
             updater.Commit();
             updater.BeginUpdate();
             Man man = new Man();
             for (int i = 0; i < 100; i++)
             {
                 man = new Man();
                 updater.Persist(man);
             }
             updater.Commit();
             reader.BeginRead();
             updater.BeginUpdate();
             db = reader.OpenDatabase(dbNum);
             foreach (Page page in db)
             {
                 Assert.True(page.PageInfo.VersionNumber == 1);
             }
             if (useReaderCommit)
             {
                 reader.Commit();
             }
             if (useReaderCommit)
             {
                 reader.BeginRead();
             }
             else
             {
                 reader.ForceDatabaseCacheValidation();
             }
             for (int i = 1; i < 25; i++)
             {
                 db = reader.OpenDatabase(dbNum);
                 foreach (Page page in db)
                 {
                     if (page.PageNumber > 1) // skip AutoPlacemnt page
                     {
                         Assert.True(page.PageInfo.VersionNumber == (ulong)i);
                         Man man2       = (Man)reader.Open(dbNum, page.PageNumber, 1, false);
                         Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true);
                     }
                 }
                 if (useReaderCommit)
                 {
                     reader.Commit();
                     reader.BeginRead();
                 }
                 else
                 {
                     reader.ForceDatabaseCacheValidation();
                 }
                 updater.Commit();
                 updater.BeginUpdate();
             }
             Database db2 = reader.OpenDatabase(dbNum);
             db = updater.OpenDatabase(dbNum);
             for (int i = 25; i < 50; i++)
             {
                 foreach (Page page in db)
                 {
                     if (page.PageNumber > 1)
                     {
                         Assert.True(page.PageInfo.VersionNumber == (ulong)i);
                         Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true);
                     }
                 }
                 updater.Commit();
                 updater.BeginUpdate();
                 db2 = reader.OpenDatabase(dbNum);
                 foreach (Page page in db2)
                 {
                     if (page.PageNumber > 1)
                     {
                         //Assert.True(page.PageInfo.VersionNumber == (ulong)i + 1);
                         Man man2 = (Man)reader.Open(dbNum, page.PageNumber, 1, false);
                     }
                 }
                 reader.ClearPageCache();
                 System.GC.Collect();
             }
             reader.Commit();
             updater.Commit();
         }
 }
Example #38
0
 public abstract void GetManConclusion(Man man);
        public void SingleServerReaderSingleServerUpdater1()
        {
            ServerClientSession updater = new ServerClientSession(systemDir);
            ServerClientSession reader  = new ServerClientSession(systemDir);
            const UInt32        dbNum   = 345;

            try
            {
                updater.BeginUpdate();
                Man       man;
                Placement place = new Placement(dbNum, 1, 1, 2);
                for (int i = 0; i < 100; i++)
                {
                    man = new Man();
                    man.Persist(place, updater);
                }
                updater.Commit();
                reader.BeginRead();
                Database db = reader.OpenDatabase(dbNum);
                foreach (Page page in db)
                {
                    Assert.True(page.PageInfo.VersionNumber == 1);
                }
                reader.Commit();
                updater.BeginUpdate();
                reader.BeginRead();
                for (int i = 1; i < 25; i++)
                {
                    db = reader.OpenDatabase(dbNum);
                    foreach (Page page in db)
                    {
                        if (page.PageNumber > 0)
                        {
                            Assert.True(page.PageInfo.VersionNumber == (ulong)i);
                            Man man2       = (Man)reader.Open(dbNum, page.PageNumber, 1, false);
                            Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true);
                        }
                    }
                    reader.Commit();
                    reader.BeginRead();
                    updater.Checkpoint();
                    reader.ForceDatabaseCacheValidation(); // we now validate on BeginRead so to make this test pass, we need to add this call after updater commit.
                }
                Database db2 = reader.OpenDatabase(dbNum);
                db = updater.OpenDatabase(dbNum);
                for (int i = 25; i < 50; i++)
                {
                    foreach (Page page in db)
                    {
                        if (page.PageNumber > 0)
                        {
                            Assert.True(page.PageInfo.VersionNumber == (ulong)i);
                            Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true);
                        }
                    }
                    updater.Commit();
                    updater.BeginUpdate();
                    foreach (Page page in db2)
                    {
                        if (page.PageNumber > 0)
                        {
                            Assert.True(page.PageInfo.VersionNumber == (ulong)i + 1);
                            Man man2 = (Man)reader.Open(dbNum, page.PageNumber, 1, false);
                        }
                    }
                    reader.ClearPageCache(); // required or else we will use cached page and Assert (see line above) will fail
                    System.GC.Collect();     // force weak referenced pages to be garbage collected (again to avoid Assert failure)
                }
                reader.Commit();
                updater.DeleteDatabase(db);
                updater.Commit();
            }
            finally
            {
                updater.Dispose();
                reader.Dispose();
            }
        }
Example #40
0
 public Move(Player player, Man man, BoardPosition oldPosition, BoardPosition newPosition) : this(player, man, oldPosition, newPosition, false, null)
 {
 }