SenseNet.ContentRepository.Tests.EvaluatorTest.DefaultValue_Scripted_ShortText C# (CSharp) Метод

DefaultValue_Scripted_ShortText() приватный Метод

private DefaultValue_Scripted_ShortText ( ) : void
Результат void
		public void DefaultValue_Scripted_ShortText()
		{
			ContentType carType = ContentType.GetByName("Car");
			string defaultValue = "The answer to life the universe and everything plus one = [Script:jScript]WhatIsTheAnswerToLifeTheUniverseAndEverything() + 1;[/Script].";
			string evaluatedValue = "The answer to life the universe and everything plus one = 43.";
			string userInput = "-- UserInput --";
			string fieldName = null;
			string fieldValue = null;

			//==== search a testable ShortText field
			foreach (var fieldSetting in carType.FieldSettings)
			{
				ShortTextFieldSetting shortTextSetting = fieldSetting as ShortTextFieldSetting;
				if (shortTextSetting == null)
					continue;
				fieldName = shortTextSetting.Name;
				var baseSettingAccessor = new PrivateObject(shortTextSetting, new PrivateType(typeof(FieldSetting)));
				baseSettingAccessor.SetField("_defaultValue", BindingFlags.NonPublic | BindingFlags.Instance, defaultValue);
				break;
			}
			if (fieldName == null)
				Assert.Inconclusive("Car ContentType do not have any ShortText field.");

			//==== create a new Content
			var newContent = Content.CreateNew("Car", _testRoot, "Car1");
			var editedField = newContent.Fields[fieldName];

			//==== simulating contentview:
			//-- create control RegisterFieldControl, SetData, Post default value
			ShortText shortTextControl = new ShortText();
			ShortTextAccessor shortTextControlAcc = new ShortTextAccessor(shortTextControl);
			//-- RegisterFieldControl, SetData, Post default value
			shortTextControlAcc.ConnectToField(editedField);
			shortTextControlAcc.SetDataInternal();
			//-- Post default value
			editedField.SetData(shortTextControl.GetData());

			//==== Check default value
			fieldValue = (string)newContent[fieldName];
			Assert.IsTrue(fieldValue == evaluatedValue, "#1");

			//-- simulating userinput: overwrite default value
			shortTextControlAcc.InputTextBox.Text = userInput;

			//-- simulating contentview: PostData
			editedField.SetData(shortTextControl.GetData());

			//==== Check user input
			fieldValue = (string)newContent[fieldName];
			Assert.IsTrue(fieldValue == userInput, "#2");

		}
		[TestMethod]