|
using System;
using Microsoft.Silverlight.Testing;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using SilverlightApplication.ViewModels;
namespace SilverlightApplicationUnitTest
{
[TestClass]
public class MainPageViewModelTests: SilverlightTest
{
[TestMethod]
public void ViewModelInitiation()
{
MainPageViewModel vm = new MainPageViewModel();
Assert.IsTrue(vm.StudentList == null,
"At view model initiation, StudentList should be null");
Assert.IsTrue(vm.GetStudentWCFCommand != null,
"At view model initiation, GetStudentWCFCommand should be initiated");
Assert.IsTrue(vm.GetStudentWCFWrongMethodCommand != null,
"At view model initiation, GetStudentWCFWrongMethodCommand should be initiated");
}
[TestMethod]
[Asynchronous]
public void AsynchronousWCFCallWithGetStudentWCFCommand()
{
MainPageViewModel vm = new MainPageViewModel();
bool done = false;
vm.AsyncCallbackCompleted += (() => done = true);
EnqueueCallback(() => vm.GetStudentWCFCommand.Execute(null));
EnqueueConditional(() => done);
EnqueueCallback(() => Assert.IsNotNull(vm.StudentList,
"No student retreived from the WCF service"));
EnqueueCallback(() => Assert.IsTrue(vm.StudentList.Count == 10,
"The number of the students should be 10."));
EnqueueTestComplete();
}
[TestMethod]
[Asynchronous]
public void AsynchronousWCFCallWithGetStudentWCFWrongMethodCommand()
{
MainPageViewModel vm = new MainPageViewModel();
bool done = false;
vm.AsyncCallbackCompleted += (() => done = true);
EnqueueCallback(() => vm.GetStudentWCFWrongMethodCommand.Execute(null));
EnqueueConditional(() => done);
EnqueueCallback(() => Assert.IsNotNull(vm.StudentList,
"No student retreived from the WCF service"));
EnqueueCallback(() => Assert.IsTrue(vm.StudentList.Count == 10,
"The number of the students should be 10. Problem is captured by the unit test."));
EnqueueTestComplete();
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I have been working in the IT industry for some time. It is still exciting and I am still learning. I am a happy and honest person, and I want to be your friend.