示例#1
0
        public void Test_AddMultiple_ContainsNull()
        {
            var list    = new BeatObjectList <BPM>();
            var objects = new BPM[] {
                new BPM(100, 5),
                null,
                new BPM(100, 2),
            };

            Assert.Throws <ArgumentNullException>(() => list.AddMultiple(objects));
        }
示例#2
0
        public void Test_Contains_ObjectExists()
        {
            var list    = new BeatObjectList <BPM>();
            var objects = new BPM[] {
                new BPM(100, 2),
                new BPM(100, 3),
                new BPM(100, 5),
            };

            list.AddMultiple(objects);

            foreach (var o in objects)
            {
                Assert.IsTrue(list.Contains(o));
            }
        }
示例#3
0
        public void Test_AddMultiple_ObjectsOutOfOrder()
        {
            var list    = new BeatObjectList <BPM>();
            var objects = new BPM[] {
                new BPM(100, 5),
                new BPM(100, 3),
                new BPM(100, 2),
            };

            list.AddMultiple(objects);

            var array = list.ToArray();

            Assert.AreSame(objects[2], array[0]);
            Assert.AreSame(objects[1], array[1]);
            Assert.AreSame(objects[0], array[2]);
        }
示例#4
0
        public void Test_ToArray_NonEmptyList()
        {
            var list    = new BeatObjectList <BPM>();
            var objects = new BPM[] {
                new BPM(100, 2),
                new BPM(100, 3),
                new BPM(100, 5),
            };

            list.AddMultiple(objects);

            var array = list.ToArray();

            Assert.AreEqual(objects.Length, array.Length);
            Assert.AreSame(objects[0], array[0]);
            Assert.AreSame(objects[1], array[1]);
            Assert.AreSame(objects[2], array[2]);
        }
示例#5
0
        public void Test_Contains_ObjectDoesNotExist()
        {
            var list    = new BeatObjectList <BPM>();
            var objects = new BPM[] {
                new BPM(100, 2),
                new BPM(100, 3),
                new BPM(100, 5),
            };

            list.AddMultiple(objects);

            // New object isn't in the list.
            Assert.IsFalse(list.Contains(new BPM(123, 45)));

            // Copy of the first element added. Tests that it's checking the reference
            // and not the value.
            Assert.IsFalse(list.Contains(new BPM(100, 2)));
        }
示例#6
0
        public void Test_AddMultiple_FiresAddedEvents()
        {
            var list    = new BeatObjectList <BPM>();
            var objects = new BPM[] {
                new BPM(100, 5),
                new BPM(100, 3),
                new BPM(100, 2),
            };
            var added = new List <BPM>();

            list.Added += (o, e) =>
            {
                var args = e as ObjectListEventArgs <BPM>;
                added.Add(args.Object);
            };

            list.AddMultiple(objects);
            Assert.AreSame(objects[2], added[0]);
            Assert.AreSame(objects[1], added[1]);
            Assert.AreSame(objects[0], added[2]);
        }
示例#7
0
        public void Test_AddMultiple_CantBeNull()
        {
            var list = new BeatObjectList <BPM>();

            Assert.Throws <ArgumentNullException>(() => list.AddMultiple(null));
        }