示例#1
0
        public void MergeAsync()
        {
            var blocker = new AutoResetEvent(false);

            var lines = new[] {
                "CHAT Test {type=a,stage=b}",
                "SET ab = hello",
                "DO flip",
                "SAY ab",
            };

            var         file = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + Util.EpochMs() + ".ser");
            ChatRuntime rt   = new ChatRuntime(Client.AppConfig.TAC);

            rt.ParseText(String.Join("\n", lines));
            rt.Save(serializer, file);

            ChatRuntime rt2 = new ChatRuntime(Client.AppConfig.TAC);

            rt2.MergeAsync(serializer, file, () =>
            {
                blocker.Set();
                //Console.WriteLine("CALLBACK: "+ (rt2.chats != null ? rt2.chats.Count + " chats" : "Failed"));
                Assert.That(rt2.chats, Is.Not.Null);
                Assert.That(rt2.chats.Count, Is.GreaterThan(0));
            });

            blocker.WaitOne();
        }