public void CanDetectIfNotAlreadySet() { var profile = TestProfile.CreateEmpty(); profile.Datacontext.XamlPageAttribute = "DataContext=\"HasBeenSet\""; var logger = DefaultTestLogger.Create(); var vs = new TestVisualStudioAbstraction { ActiveDocumentFileName = "test.xaml", ActiveDocumentText = @"<Page > <!-- Content would go here --> </Page>", }; var fs = new TestFileSystem(); var sut = new SetDataContextCommandLogic(profile, logger, vs, fs); var result = sut.ShouldEnableCommand(); Assert.IsTrue(result); }
public void DetectsWhenConstructorContentIsNotAlreadySet() { var profile = TestProfile.CreateEmpty(); profile.Datacontext.CodeBehindConstructorContent = "this.DataContext = this.ViewModel;"; var logger = DefaultTestLogger.Create(); var vs = new TestVisualStudioAbstraction { ActiveDocumentFileName = "test.xaml.cs", ActiveDocumentText = @"class TestPage { public TestPage() { this.Initialize(); } }", }; var fs = new TestFileSystem(); var sut = new SetDataContextCommandLogic(profile, logger, vs, fs); var result = sut.ShouldEnableCommand(); Assert.IsTrue(result); }
public void DetectsWhenPageContentIsNotAlreadySet() { var profile = TestProfile.CreateEmpty(); profile.ViewGeneration.XamlFileSuffix = "Page"; profile.ViewGeneration.ViewModelFileSuffix = "ViewModel"; profile.Datacontext.CodeBehindPageContent = @"Public ReadOnly Property ViewModel As $viewmodelclass$ Get Return New $viewmodelclass$ End Get End Property"; var logger = DefaultTestLogger.Create(); var vs = new TestVisualStudioAbstraction { ActiveDocumentFileName = "TestPage.xaml.vb", ActiveDocumentText = @"Public NotInheritable Class TestPage Inherits Page Sub New() InitializeComponent() End Sub End Class", }; var fs = new TestFileSystem(); var sut = new SetDataContextCommandLogic(profile, logger, vs, fs); var result = sut.ShouldEnableCommand(); Assert.IsTrue(result); }
public void DetectsWhenConstructorContentIsNotAlreadySet() { var profile = TestProfile.CreateEmpty(); profile.Datacontext.CodeBehindConstructorContent = "DataContext = ViewModel"; var logger = DefaultTestLogger.Create(); var vs = new TestVisualStudioAbstraction { ActiveDocumentFileName = "TestPage.xaml.vb", ActiveDocumentText = @"Public NotInheritable Class TestPage Inherits Page Sub New() InitializeComponent() End Sub End Class", }; var fs = new TestFileSystem(); var sut = new SetDataContextCommandLogic(profile, logger, vs, fs); var result = sut.ShouldEnableCommand(); Assert.IsTrue(result); }
public void DetectsWhenPageContentIsNotAlreadySet() { var profile = TestProfile.CreateEmpty(); profile.ViewGeneration.XamlFileSuffix = "Page"; profile.ViewGeneration.ViewModelFileSuffix = "ViewModel"; profile.Datacontext.CodeBehindPageContent = @"public $viewmodelclass$ ViewModel { get { return new $viewmodelclass$(); } }"; var logger = DefaultTestLogger.Create(); var vs = new TestVisualStudioAbstraction { ActiveDocumentFileName = "Testpage.xaml.cs", ActiveDocumentText = @"class TestPage { public TestPage() { this.Initialize(); } }", }; var fs = new TestFileSystem(); var sut = new SetDataContextCommandLogic(profile, logger, vs, fs); var result = sut.ShouldEnableCommand(); Assert.IsTrue(result); }