コード例 #1
0
ファイル: FormatterTests.cs プロジェクト: Corillian/corefx
 public void GetNext_UnexpectedObject_ThrowsException()
 {
     var f = new TestFormatter();
     f.m_objectQueue.Enqueue(new object());
     long id;
     Assert.Throws<SerializationException>(() => f.GetNext(out id));
 }
コード例 #2
0
        public void GetNext_UnexpectedObject_ThrowsException()
        {
            var f = new TestFormatter();

            f.m_objectQueue.Enqueue(new object());
            long id;

            Assert.Throws <SerializationException>(() => f.GetNext(out id));
        }
コード例 #3
0
        public void ScheduleAndGetObjects_ExpectedIDsAndOrder()
        {
            var f = new TestFormatter();

            // null values don't count
            long actualId;

            Assert.Equal(0, f.Schedule(null));
            Assert.Equal(0, f.Schedule(null));
            Assert.Null(f.GetNext(out actualId));
            Assert.Equal(0, actualId);

            var objects = new object[] { new object(), new object(), new object() };

            // Add each object for the first time
            long nextExpectedId = 1;

            foreach (var obj in objects)
            {
                Assert.Equal(nextExpectedId++, f.Schedule(obj));
            }

            // Adding them again should produce the same IDs
            nextExpectedId = 1;
            foreach (var obj in objects)
            {
                Assert.Equal(nextExpectedId++, f.Schedule(obj));
            }

            // Now retrieve them all
            nextExpectedId = 1;
            foreach (var obj in objects)
            {
                var actualObj = f.GetNext(out actualId);
                Assert.Same(obj, actualObj);
                Assert.Equal(nextExpectedId++, actualId);
            }
        }
コード例 #4
0
ファイル: FormatterTests.cs プロジェクト: Corillian/corefx
        public void ScheduleAndGetObjects_ExpectedIDsAndOrder()
        {
            var f = new TestFormatter();

            // null values don't count
            long actualId;
            Assert.Equal(0, f.Schedule(null));
            Assert.Equal(0, f.Schedule(null));
            Assert.Null(f.GetNext(out actualId));
            Assert.Equal(0, actualId);

            var objects = new object[] { new object(), new object(), new object() };

            // Add each object for the first time
            long nextExpectedId = 1;
            foreach (var obj in objects)
            {
                Assert.Equal(nextExpectedId++, f.Schedule(obj));
            }

            // Adding them again should produce the same IDs
            nextExpectedId = 1;
            foreach (var obj in objects)
            {
                Assert.Equal(nextExpectedId++, f.Schedule(obj));
            }

            // Now retrieve them all
            nextExpectedId = 1;
            foreach (var obj in objects)
            {
                var actualObj = f.GetNext(out actualId);
                Assert.Same(obj, actualObj);
                Assert.Equal(nextExpectedId++, actualId);
            }
        }