Esempio n. 1
0
        static void TestData(CanHazImmutable data, string caption)
        {
            Assert.False(data.Queue.IsEmpty);
            data.Queue = data.Queue.Dequeue(out var val);
            Assert.Equal(1, val);
            Assert.False(data.Queue.IsEmpty);
            data.Queue = data.Queue.Dequeue(out val);
            Assert.Equal(2, val);
            Assert.True(data.Queue.IsEmpty);

            Assert.Equal(2, data.Set.Count);                           //, caption + ":Bag.Count");
            Assert.Contains("abc", data.Set);                          //, caption + ":Bag - try 1");
            Assert.Contains("def", data.Set);                          //, caption + ":Bag - try 2");

            Assert.Equal(2, data.Dictionary.Count);                    //, caption + ":Dictionary.Count");
            Assert.True(data.Dictionary.TryGetValue(1, out string s)); //, caption + ":Dictionary - try 1");
            Assert.Equal("abc", s);                                    //, caption + ":Dictionary - val 1");
            Assert.True(data.Dictionary.TryGetValue(2, out s));        //, caption + ":Dictionary - try 2");
            Assert.Equal("def", s);                                    //, caption + ":Dictionary - val 2");

            Assert.False(data.Stack.IsEmpty);
            data.Stack = data.Stack.Pop(out val);
            Assert.Equal(2, val);
            Assert.False(data.Stack.IsEmpty);
            data.Stack = data.Stack.Pop(out val);
            Assert.Equal(1, val);
            Assert.True(data.Stack.IsEmpty);

            Assert.Equal(2, data.List.Count);
            Assert.Equal(42, data.List[0]);
            Assert.Equal(43, data.List[1]);
        }
Esempio n. 2
0
        static CanHazImmutable CreateImmutableData()
        {
            var data = new CanHazImmutable();

            data.Queue = data.Queue.Enqueue(1);
            data.Queue = data.Queue.Enqueue(2);

            data.Set = data.Set.Add("abc");
            data.Set = data.Set.Add("def");

            data.Dictionary = data.Dictionary.SetItem(1, "abc");
            data.Dictionary = data.Dictionary.SetItem(2, "def");

            data.Stack = data.Stack.Push(1);
            data.Stack = data.Stack.Push(2);

            data.List = data.List.Add(42);
            data.List = data.List.Add(43);

            return(data);
        }