using System; using System.Collections.Generic; using Microsoft.Silverlight.Testing; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace EndtoEndSilverlightDemo.Tests { [TestClass] public class The_data_page_should_load:SilverlightTest { [TestMethod, ExpectedException(typeof(System.ArgumentNullException))] public void Should_throw_a_null_arguement_exception_when_testing_synchronousely() { EndToEndSilverlightDemo.Page pageUnderTest = new EndToEndSilverlightDemo.Page(); IPageTestDriver testDriver = pageUnderTest; testDriver.ClearLocalStorage(); this.Silverlight.TestSurface.Children.Add(pageUnderTest); testDriver.TypeSearchPrefix("s"); testDriver.ClickSearchButton(); Assert.AreEqual(9,testDriver.DisplayedProductRows); this.Silverlight.TestSurface.Children.Remove(pageUnderTest); } [TestMethod,Asynchronous] public void When_searching_for_products_starting_with_s_nine_products_should_be_displayed_async() { EndToEndSilverlightDemo.Page pageUnderTest = new EndToEndSilverlightDemo.Page(); IPageTestDriver testDriver = pageUnderTest; testDriver.ClearLocalStorage(); this.Silverlight.TestSurface.Children.Add(pageUnderTest); EnqueueCallback(() => testDriver.TypeSearchPrefix("s")); EnqueueCallback(() => testDriver.ClickSearchButton()); EnqueueConditional(testDriver.WebserviceHasReturnedData); EnqueueCallback(() => Assert.AreEqual(9, testDriver.DisplayedProductRows)); EnqueueCallback(() => this.Silverlight.TestSurface.Children.Remove(pageUnderTest)); EnqueueTestComplete(); } } }