public void TestSetup() { TestHarnessModel.ResetSingleton(); TestRunnerMockViewTest.InvokeCount = 0; viewTestRunner = new ViewTestRunner { Interval = 0.01 }; module = new ViewTestClassesAssemblyModule(new ModuleSetting()); module.LoadAssembly(GetType().Assembly); testClass = module.GetTestClasses("TestRunnerMockViewTest").FirstOrDefault(); testMethodInfo = testClass.GetTestMethod("SampleTestRunnerMethod").MethodInfo; }
public void Initialize() { TestHarnessModel.ResetSingleton(); var testHarness = TestHarnessModel.Instance; testHarness.Modules.RemoveAll(); classModel = new ViewTestClass(typeof(SampleViewTestClass1), "File.xap"); moduleModel = new ViewTestClassesAssemblyModule(new ModuleSetting(sampleAssembly.FullName, "File.xap")); moduleModel.LoadAssembly(sampleAssembly); moduleModel.Classes.Add(classModel); testHarness.Modules.Add(moduleModel); }
public void TestInitialize() { TestHarnessModel.ResetSingleton(); var testHarness = TestHarnessModel.Instance; testHarness.Modules.RemoveAll(); classModel = new ViewTestClass(typeof(SampleViewTestClass1), "File.xap"); moduleModel = new ViewTestClassesAssemblyModule(new ModuleSetting(GetType().Assembly.FullName, "File.xap")); moduleModel.Classes.Add(classModel); testHarness.Modules.Add(moduleModel); classModel.IsCurrent = true; testModel = classModel.ViewTests[0]; }
public void Initialize() { TestHarnessModel.ResetSingleton(); var testHarness = TestHarnessModel.Instance; testHarness.Modules.RemoveAll(); classModel = new ViewTestClass(typeof(SampleViewTestClass1), "File.xap"); moduleModel = new ViewTestClassesAssemblyModule(new ModuleSetting(GetType().Assembly.FullName, "File.xap")); moduleModel.Classes.Add(classModel); testHarness.Modules.Add(moduleModel); rootVm = new RootViewModel(); selectorPanelVm = new SelectorPanelViewModel(rootVm); }
public void ShouldLoadAssembly() { TestHarnessModel.ResetSingleton(); var testHarness = TestHarnessModel.Instance; testHarness.LoadedAssemblies.ShouldBeEmpty(); moduleModel = new ViewTestClassesAssemblyModule(new ModuleSetting("Some Name")); var propArgs = new List<string>(); moduleModel.PropertyChanged += (sender, e) => propArgs.Add(e.PropertyName); EventArgs startArgs = null; moduleModel.AssemblyLoadStarted += (sender, e) => startArgs = e; EventArgs completeArgs = null; moduleModel.AssemblyLoadComplete += (sender, e) => completeArgs = e; // -------------- moduleModel.IsLoaded.ShouldBe(false); moduleModel.LoadAssembly(sampleAssembly); moduleModel.AssemblyName.ShouldBe(ReflectionUtil.GetAssemblyName(sampleAssembly.FullName)); moduleModel.Assembly.ShouldBe(sampleAssembly); moduleModel.IsLoaded.ShouldBe(true); moduleModel.Classes.ShouldNotBeEmpty(); testHarness.LoadedAssemblies.ShouldContain(sampleAssembly); propArgs.ShouldContain(LinqExtensions.GetPropertyName<T>(m => m.AssemblyName)); propArgs.ShouldContain(LinqExtensions.GetPropertyName<T>(m => m.Assembly)); propArgs.ShouldContain(LinqExtensions.GetPropertyName<T>(m => m.IsLoaded)); propArgs.Clear(); startArgs.ShouldNotBe(null); completeArgs.ShouldNotBe(null); moduleModel.LoadAssembly(sampleAssembly); propArgs.ShouldBeEmpty(); }
public void Initialize(ModuleSelector control) { // Setup initial conditions. control.Width = 320; control.Height = 400; // Setup sample data. var model1 = new ViewTestClassesModule { DisplayName = "Recent Selections" }; model1.Classes.Add(new ViewTestClass(typeof(ModuleSelectorViewTest), "File.xap")); model1.Classes.Add(new ViewTestClass(typeof(SampleViewTestClass1), "File.xap")); var viewModel1 = new ModuleNodeViewModel(model1); var model2 = new ViewTestClassesAssemblyModule(new ModuleSetting("Assembly.Name.xap")); model2.Classes.Add(new ViewTestClass(typeof(SampleViewTestClass1), "File.xap")); model2.Classes.Add(new ViewTestClass(typeof(SampleViewTestClass2), "File.xap")); model2.Classes.Add(new ViewTestClass(typeof(ModuleSelectorViewTest), "File.xap")); var viewModel2 = new ModuleNodeViewModel(model2); modules.Add(viewModel1); modules.Add(viewModel2); // Assign sample data to control. control.DataContext = modules; }
/// <summary>Loads the module with the specified name.</summary> /// <param name="moduleSetting">The identifying settings of the module to load.</param> public void AddModule(ModuleSetting moduleSetting) { var module = new ViewTestClassesAssemblyModule(moduleSetting); Modules.Add(module); }
/// <summary>Removes the given module from the harness (and settings).</summary> /// <param name="module">The module to remove.</param> public void RemoveModule(ViewTestClassesAssemblyModule module) { if (module == null) throw new ArgumentNullException("module"); Modules.Remove(module); Settings.SyncLoadedModulesWithTestHarness(); Settings.Save(); }
public void ShouldDetermineIfAssemblyIsLoaded() { var testHarness = TestHarnessModel.Instance; TestHarnessModel.ResetSingleton(); testHarness.Modules.RemoveAll(); var assembly = GetType().Assembly; var module = new ViewTestClassesAssemblyModule(new ModuleSetting(assembly.FullName, "File.xap")); testHarness.Modules.Add(module); // -------- testHarness.IsLoaded("File.xap").ShouldBe(false); module.LoadAssembly(assembly); testHarness.IsLoaded("File.xap").ShouldBe(true); TestHarnessModel.ResetSingleton(); }
public void ShouldUpdateCurrentModuleAndClass() { TestHarnessModel.ResetSingleton(); var testHarness = TestHarnessModel.Instance; var args = new List<string>(); testHarness.PropertyChanged += (sender, e) => args.Add(e.PropertyName); var class1 = new ViewTestClass(typeof(SampleViewTestClass1), "File.xap"); var class2 = new ViewTestClass(typeof(SampleViewTestClass1), "File.xap"); var module1 = new ViewTestClassesAssemblyModule(new ModuleSetting(GetType().Assembly.FullName, "File.xap")); var module2 = new ViewTestClassesAssemblyModule(new ModuleSetting(GetType().Assembly.FullName, "File.xap")); module1.Classes.Add(class1); module2.Classes.Add(class2); testHarness.Modules.Add(module1); testHarness.Modules.Add(module2); testHarness.CurrentClass.ShouldBe(null); // ------------- class1.IsCurrent = true; testHarness.CurrentClass.ShouldBe(class1); args.ShouldContain(TestHarnessModel.PropCurrentClass); args.Clear(); class2.IsCurrent = true; testHarness.CurrentClass.ShouldBe(class2); args.ShouldContain(TestHarnessModel.PropCurrentClass); args.Clear(); class1.IsCurrent.ShouldBe(false); module1.CurrentClass.ShouldBe(null); class2.IsCurrent = false; testHarness.CurrentClass.ShouldBe(null); args.ShouldContain(TestHarnessModel.PropCurrentClass); args.Clear(); TestHarnessModel.ResetSingleton(); }
public void ShouldRemoveXapExtensionInConstructor() { moduleModel = new ViewTestClassesAssemblyModule(new ModuleSetting(sampleAssembly.FullName, "File.xap")); moduleModel.XapFileName.ShouldBe("File"); }
public void ShouldExtractAssemblyNameInConstructor() { moduleModel = new ViewTestClassesAssemblyModule(new ModuleSetting(sampleAssembly.FullName, "File.xap")); moduleModel.AssemblyName.ShouldBe(ReflectionUtil.GetAssemblyName(sampleAssembly.FullName)); }
public void ShouldReturnParentModule() { TestHarnessModel.ResetSingleton(); var testHarness = TestHarnessModel.Instance; testHarness.Modules.RemoveAll(); var classModel = new ViewTestClass(typeof(SampleViewTestClass2), "File.xap"); var moduleModel = new ViewTestClassesAssemblyModule(new ModuleSetting(typeof(SampleViewTestClass2).Assembly.FullName, "File.xap")); moduleModel.Classes.Add(classModel); testHarness.Modules.Add(moduleModel); testHarness.Modules.Count.ShouldBe(1); var retrievedModule = classModel.ParentModule; retrievedModule.ShouldBe(moduleModel); }
public void ShouldReload() { TestHarnessModel.ResetSingleton(); var testHarness = TestHarnessModel.Instance; var sampleType = new SampleViewTestClass1().GetType(); // NB: Instance used to get actual SL type of (instead of 'typeof' which returns native Type). var model1 = new ViewTestClass(sampleType.FullName, null, sampleType.Assembly.FullName, "File.xap"); var module = new ViewTestClassesAssemblyModule(new ModuleSetting(sampleType.Assembly.FullName, "File.xap")); module.Classes.AddRange(new[] { model1 }); testHarness.Modules.Add(module); module.CurrentClass.ShouldBe(null); model1.IsCurrent = true; testHarness.CurrentClass.ShouldBe(model1); var instance = (SampleViewTestClass1)model1.Instance; instance.MyProperty.ShouldBe(null); instance.MyProperty = "My Custom Value"; model1.Reload(); instance = (SampleViewTestClass1)model1.Instance; instance.MyProperty.ShouldBe(null); }
public void ShouldSetIsCurrent() { TestHarnessModel.ResetSingleton(); var testHarness = TestHarnessModel.Instance; var sampleType = new SampleViewTestClass1().GetType(); // NB: Instance used to get actual SL type of (instead of 'typeof' which returns native Type). var model1 = new ViewTestClass(sampleType.FullName, null, sampleType.Assembly.FullName, "File.xap"); var model2 = new ViewTestClass(typeof(SampleViewTestClass2), "File.xap"); var module = new ViewTestClassesAssemblyModule(new ModuleSetting(sampleType.Assembly.FullName, "File.xap")); module.Classes.AddRange(new []{model1, model2}); testHarness.Modules.Add(module); module.CurrentClass.ShouldBe(null); PropertyChangedEventArgs argsModel1 = null; model1.PropertyChanged += (sender, e) => argsModel1 = e; // ---------- model1.IsActivated.ShouldBe(false); model1.IsCurrent.ShouldBe(false); model1.IsCurrent = true; model1.IsCurrent.ShouldBe(true); testHarness.CurrentClass.ShouldBe(model1); argsModel1.PropertyName.ShouldBe(LinqExtensions.GetPropertyName<ViewTestClass>(m => m.IsCurrent)); module.CurrentClass.ShouldBe(model1); model2.IsCurrent = true; model2.IsCurrent.ShouldBe(true); testHarness.CurrentClass.ShouldBe(model2); model1.IsCurrent.ShouldBe(false); // Deselected. module.CurrentClass.ShouldBe(model2); model2.IsCurrent = false; module.CurrentClass.ShouldBe(null); testHarness.CurrentClass.ShouldBe(null); }
public void ShouldDetermineIfAssemblyIsLoaded() { TestHarnessModel.ResetSingleton(); var testHarness = TestHarnessModel.Instance; testHarness.Modules.Clear(); var sampleType = new SampleViewTestClass1().GetType(); // NB: Instance used to get actual SL type of (instead of 'typeof' which returns native Type). var typeName = sampleType.FullName; var assemblyName = sampleType.Assembly.FullName; var model = new ViewTestClass(typeName, null, assemblyName, "File.xap"); var module = new ViewTestClassesAssemblyModule(new ModuleSetting(assemblyName, "File.xap")); testHarness.Modules.Add(module); model.IsAssemblyLoaded.ShouldBe(false); module.LoadAssembly(sampleType.Assembly); model.IsAssemblyLoaded.ShouldBe(true); TestHarnessModel.ResetSingleton(); }