Example #1
0
        public void Create()
        {
            MOCK_ContextCreate((ref IntPtr context) =>
            {
                context = pointer;
                return((int)Yogi.ErrorCode.Ok);
            });

            new Yogi.Context();
        }
        public void Format()
        {
            var obj = new Yogi.Context();

            var s = obj.Format();

            Assert.Matches("Context \\[[1-9a-f][0-9a-f]+\\]", s);

            s = obj.Format("$T-[$X]");
            Assert.Matches("Context-\\[[1-9A-F][0-9A-F]+\\]", s);
        }
        public static void RunContextUntilBranchesAreConnected(Yogi.Context context,
                                                               params Yogi.Branch[] branches)
        {
            var uuids = new Dictionary <Yogi.Branch, List <Guid> >();

            foreach (var branch in branches)
            {
                uuids[branch] = new List <Guid>();
            }

            foreach (var entry in uuids)
            {
                foreach (var branch in branches)
                {
                    if (branch != entry.Key)
                    {
                        entry.Value.Add(branch.Uuid);
                    }
                }
            }

            var start = DateTime.Now;

            while (uuids.Count > 0)
            {
                context.Poll();

                var entry = uuids.First();
                var infos = entry.Key.GetConnectedBranches();
                foreach (var info in infos)
                {
                    var uuid = info.Key;
                    entry.Value.Remove(uuid);
                }

                if (entry.Value.Count == 0)
                {
                    uuids.Remove(entry.Key);
                }

                if (DateTime.Now - start > TimeSpan.FromSeconds(3))
                {
                    throw new Exception("Branches did not connect");
                }
            }
        }
        public void ToStringFormat()
        {
            var obj = new Yogi.Context();

            Assert.Matches("Context \\[[1-9a-f][0-9a-f]+\\]", obj.ToString());
        }