public void Constructor_NullObject() { Assert.DoesNotThrow(() => _buildRecord = new ObjectBuildRecord(typeof(SimpleClassBase), null, true)); var propertyNames = _buildRecord.UnconstructedMembers.Select(p => p.Name).OrderBy(n => n).ToArray(); Assert.AreEqual(new [] { "Property1" }, propertyNames); }
public void Constructor_UsesObjectTypeForRetrievingProperties() { _buildRecord = new ObjectBuildRecord(typeof(SimpleClassBase), new SimpleClass(), true); var propertyNames = _buildRecord.UnconstructedMembers.Select(p => p.Name).OrderBy(n => n).ToArray(); Assert.AreEqual(new [] { "Property1", "Property2" }, propertyNames); }
public DisposableAction PushObject(ObjectBuildRecord buildRecord) { if (IsDisposed) { throw new ObjectDisposedException("BuildSession"); } if (!buildRecord.Counted) { if (BuilderInstanceTracker.IncludeInCount(buildRecord.Type)) { ConstructedCount++; } buildRecord.Counted = true; } CurrentObject = CurrentObject.AddChild(buildRecord); _constructedNodes.Add(CurrentObject); return(new DisposableAction(PopObject)); }