public void GetNext_UnexpectedObject_ThrowsException() { var f = new TestFormatter(); f.m_objectQueue.Enqueue(new object()); long id; Assert.Throws<SerializationException>(() => f.GetNext(out id)); }
public void GetNext_UnexpectedObject_ThrowsException() { var f = new TestFormatter(); f.m_objectQueue.Enqueue(new object()); long id; Assert.Throws <SerializationException>(() => f.GetNext(out id)); }
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); } }
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); } }