예제 #1
0
        public void TestTrackableCollection_LastOrDefault(bool track)
        {
            var acc  = new Accumulator("test");
            var a    = new Simple("a");
            var b    = new Simple("b");
            var c    = new Simple("c");
            var coll = new TrackableCollection <Simple>(acc, track)
            {
                a, b, c, b, c, b, b
            };
            var last = coll.LastOrDefault();

            Assert.AreEqual(b, last);
            coll.Clear();
            last = coll.LastOrDefault();
            Assert.IsNull(last);

            var coll2 = new TrackableCollection <int>(acc, track)
            {
                -1, 1, 2
            };
            var f = coll2.LastOrDefault();

            Assert.AreEqual(2, f);
            coll2.Clear();
            f = coll2.LastOrDefault();
            Assert.AreEqual(default(int), f);

            if (track)
            {
                Assert.AreEqual(12, acc.Records.Count);
            }
            else
            {
                Assert.AreEqual(0, acc.Records.Count);
            }
        }