Hi
Can any suggest how to do Microsoft unit test for the viewmodel in silverlight .
Please refer the follwing code .
TEchnologies .
Silverlight 4.0
MVVM
ENtity
WCF .
Test page code .
[TestClass]
public class TestClass1:SilverlightTest
{
[TestMethod]
public void TestMethod1()
{
HomeViewModel hv = new HomeViewModel();
hv.GetClients();
}
}
HomeViewModel
public void GetClients()
{
App.DCContext.GetOnyxClients(GetClients_Completed, null);
}
private void GetClients_Completed(InvokeOperation<string> invokeOperation)
{
if (invokeOperation.HasError)
{
GenericMessage.GenericMessageBox(invokeOperation.Error, Resource_Home_ErrorMessage);
invokeOperation.MarkErrorAsHandled();
}
else
{
MemoryStream memberList = new MemoryStream(Encoding.UTF8.GetBytes(invokeOperation.Value));
_ResultXDocument = XDocument.Load(memberList);
IEnumerable<xnode> resultNodes = _ResultXDocument.Nodes();
List<clientlistitem> listofclients = new List<clientlistitem>();
List<client> clientList = new List<client>();
foreach (XNode xel in resultNodes)
{
XDocument xdoc = xel.Document;
foreach (XElement element in xdoc.Elements("ArrayOfClient"))
{
foreach (XElement clientElement in element.Elements("Client"))
{
ClientListItem clientListItem = new ClientListItem();
Client client = new Client();
client.Onyx_Client_Id = ((System.Xml.Linq.XElement)clientElement.FirstNode.NextNode).Value;
client.Onyx_Client_Name = Convert.ToString(((System.Xml.Linq.XElement)clientElement.FirstNode.NextNode.NextNode).Value);
clientList.Add(client);
}
}
}
// Add Select... as the default client and then the clients retrieved from database to the Clients collection bind to
// Client dropdown on HomePage
ClientListItem selectClient = new ClientListItem();
selectClient.Name = NotificationMessages.Select;
Clients = new ObservableCollection<clientlistitem>();
Clients.Add(selectClient);
foreach (Client client in clientList)
{
ClientListItem clientListItem = new ClientListItem();
clientListItem.Id = Convert.ToInt32(client.Onyx_Client_Id);
clientListItem.Name = client.Onyx_Client_Name;
Clients.Add(clientListItem);
}
// If user comes to the Home page for the first time, set "Select.." as selected,
// else set the client that was in context when user navigates back to the HomePage.
SetSelectedClient();
if (App.ImsLogoLink == null)
{
App.DCContext.GetHomePageLink(GetHomePageLink_Completed, null);
}
}
}