public void FieldOnHandler_Ref_MultipleNotNull()
{
//Assert.Inconclusive("Missing validation message");
string fieldName = "MultipleNotNull";
Content content = Content.CreateNew("FieldOnHandlerTest", Repository.Root, "FieldTest");
ContentAccessor contentAcc = new ContentAccessor(content);
FieldTestHandler handler = (FieldTestHandler)content.ContentHandler;
ReferenceField field = (ReferenceField)content.Fields[fieldName];
Node node0 = User.Administrator;
Node node1 = Repository.Root;
Node node2 = ContentTypeManager.Current.GetContentTypeByName("GenericContent");
bool[] flags = new bool[12];
var refs = new List<Node>();
field.SetData(refs);
contentAcc.SaveFields(); //-- content: empty
flags[0] = !field.IsValid;
flags[1] = !content.IsValid;
flags[2] = handler.GeneralReference.ToList().Count == 0;
handler.GeneralReference = new Node[0];
refs = new List<Node>();
refs.Add(node0);
field.SetData(refs);
contentAcc.SaveFields(); //-- content: node0
flags[3] = field.IsValid;
flags[4] = content.IsValid;
flags[5] = handler.GeneralReference.ToList().Count == 1;
handler.GeneralReference = new Node[0];
refs = new List<Node>();
refs.Add(node0);
refs.Add(node1);
field.SetData(refs);
contentAcc.SaveFields(); //-- content: node0, node1
flags[6] = field.IsValid;
flags[7] = content.IsValid;
flags[8] = handler.GeneralReference.ToList().Count == 2;
handler.GeneralReference = new Node[0];
refs = new List<Node>();
refs.Add(node0);
refs.Add(node1);
refs.Add(node2);
field.SetData(refs);
contentAcc.SaveFields(); //-- content: node0, node1, node2
flags[9] = field.IsValid;
flags[10] = content.IsValid;
flags[11] = handler.GeneralReference.ToList().Count == 3;
string error = "";
for (int i = 0; i < flags.Length; i++)
if (!flags[i])
error = String.Concat(error, "#", i, " ");
Assert.IsTrue(error.Length == 0, "False flags: " + error);
}
[TestMethod]