using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Codeer.Friendly;
using Codeer.Friendly.Dynamic;
using Codeer.Friendly.Windows;
using System.Diagnostics;
using Codeer.Friendly.Windows.Grasp;
using System.Windows.Forms;
using Ong.Friendly.FormsStandardControls;
using FormTarget;
namespace FormSample
{
[TestClass]
public class UnitTest
{
WindowsAppFriend _app;
[TestInitialize]
public void TestInitialize()
{
_app = new WindowsAppFriend(Process.Start("FormTarget.exe"));
}
[TestCleanup]
public void TestCleanup()
{
Process.GetProcessById(_app.ProcessId).CloseMainWindow();
}
[TestMethod]
public void Test()
{
dynamic mainFormCore = _app.Type<Application>().OpenForms[0];
var mainForm = new WindowControl(mainFormCore);
var _buttonAdd = new FormsButton(mainFormCore._buttonAdd);
var _listBoxData = new FormsListBox(mainFormCore._listBoxData);
var async = new Async();
_buttonAdd.EmulateClick(async);
var inputForm = mainForm.WaitForNextModal();
dynamic inputFormCore = inputForm.Dynamic();
var _dataGridView = new FormsDataGridView(inputFormCore._dataGridView);
var _buttonOK = new FormsButton(inputFormCore._buttonOK);
var _dateTimePickerFounding = new FormsDateTimePicker(inputFormCore._dateTimePickerFounding);
var _textBoxCompanyName = new FormsTextBox(inputFormCore._textBoxCompanyName);
_textBoxCompanyName.EmulateChangeText("Codeer");
_dateTimePickerFounding.EmulateSelectDay(new DateTime(2011, 3, 14));
_dataGridView.EmulateChangeCellText(0, 0, "ishikawa");
_dataGridView.EmulateChangeCellComboSelect(1, 0, 2);
_dataGridView.EmulateChangeCellText(0, 1, "yamada");
_dataGridView.EmulateChangeCellComboSelect(1, 1, 1);
_buttonOK.EmulateClick();
async.WaitForCompletion();
var data = (Company)_listBoxData.Dynamic().Items[0];
Assert.AreEqual("Codeer", data.Name);
Assert.AreEqual(new DateTime(2011, 3, 14), data.FoundingDate);
Assert.AreEqual(2, data.Members.Count);
Assert.AreEqual("ishikawa", data.Members[0].Name);
Assert.AreEqual(Language.CS, data.Members[0].Language);
Assert.AreEqual("yamada", data.Members[1].Name);
Assert.AreEqual(Language.CPP, data.Members[1].Language);
}
}
}