public void ConfigurationViewModel_CheckIfActionIsAllowed() { var viewModel = new StartLiveLinkWindow.BuildConfigurationViewModel(CreateBuildConfiguration("Config", configuration => { configuration.SetComponent(new GeneralSettings()); configuration.SetComponent(new SceneList { BuildCurrentScene = true }); configuration.SetComponent(new MockClassicBuildProfile()); configuration.SetComponent(new OutputBuildDirectory { OutputDirectory = "TestConfigurationBuilds" }); configuration.SetComponent(new ClassicScriptingSettings()); })); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.Build, out _), Is.True); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.BuildAndRun, out _), Is.True); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.RunLatestBuild, out var reason), Is.False); Assert.That(reason, Is.EqualTo("No previous build has been found for this configuration.")); viewModel = new StartLiveLinkWindow.BuildConfigurationViewModel(CreateBuildConfiguration("Config", configuration => { configuration.SetComponent(new GeneralSettings()); configuration.SetComponent(new SceneList { BuildCurrentScene = true }); })); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.Build, out _), Is.False); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.BuildAndRun, out _), Is.False); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.RunLatestBuild, out _), Is.False); }
public void ConfigurationViewModel_DetectWhenNotLiveLinkCompatible() { var liveLinkPipeline = BuildPipeline.LoadAsset(StartLiveLinkWindow.kDefaultLiveLinkBuildPipelineAssetPath); var liveLinkMetaPipeline = BuildPipeline.LoadAsset(StartLiveLinkWindow.kWinLiveLinkBuildPipelineAssetPath); var nonLiveLinkPipeline = BuildPipeline.LoadAsset("Packages/com.unity.entities/Unity.Entities.Hybrid/Assets/Hybrid.buildpipeline"); var liveLink = new StartLiveLinkWindow.BuildConfigurationViewModel(CreateBuildConfiguration("LiveLink", configuration => { configuration.SetComponent(new GeneralSettings()); configuration.SetComponent(new SceneList { BuildCurrentScene = true }); configuration.SetComponent(new ClassicBuildProfile { Pipeline = liveLinkPipeline, Target = BuildTarget.Android }); configuration.SetComponent(new OutputBuildDirectory { OutputDirectory = "Builds" }); configuration.SetComponent(new ClassicScriptingSettings()); })); var metaLiveLink = new StartLiveLinkWindow.BuildConfigurationViewModel(CreateBuildConfiguration("LiveLink", configuration => { configuration.SetComponent(new GeneralSettings()); configuration.SetComponent(new SceneList { BuildCurrentScene = true }); configuration.SetComponent(new ClassicBuildProfile { Pipeline = liveLinkMetaPipeline, Target = BuildTarget.Android }); configuration.SetComponent(new OutputBuildDirectory { OutputDirectory = "Builds" }); configuration.SetComponent(new ClassicScriptingSettings()); })); var nonLiveLink = new StartLiveLinkWindow.BuildConfigurationViewModel(CreateBuildConfiguration("NonLiveLink", configuration => { configuration.SetComponent(new GeneralSettings()); configuration.SetComponent(new SceneList { BuildCurrentScene = true }); configuration.SetComponent(new ClassicBuildProfile { Pipeline = nonLiveLinkPipeline, Target = BuildTarget.Android }); configuration.SetComponent(new OutputBuildDirectory { OutputDirectory = "Builds" }); configuration.SetComponent(new ClassicScriptingSettings()); })); Assert.That(liveLink.IsLiveLinkCompatible, Is.True); Assert.That(metaLiveLink.IsLiveLinkCompatible, Is.True); Assert.That(nonLiveLink.IsLiveLinkCompatible, Is.False); }
public void ConfigurationViewModel_DetectWhenNotLiveLinkCompatible() { var liveLink = new StartLiveLinkWindow.BuildConfigurationViewModel(CreateBuildConfiguration("LiveLink", configuration => { configuration.SetComponent(new GeneralSettings()); configuration.SetComponent(new LiveLink()); configuration.SetComponent(new SceneList { BuildCurrentScene = true }); configuration.SetComponent(new ClassicBuildProfile { Platform = Platform.Windows }); configuration.SetComponent(new OutputBuildDirectory { OutputDirectory = "Builds" }); configuration.SetComponent(new ClassicScriptingSettings()); })); var nonLiveLink = new StartLiveLinkWindow.BuildConfigurationViewModel(CreateBuildConfiguration("NonLiveLink", configuration => { configuration.SetComponent(new GeneralSettings()); configuration.SetComponent(new SceneList { BuildCurrentScene = true }); configuration.SetComponent(new ClassicBuildProfile { Platform = Platform.Windows }); configuration.SetComponent(new OutputBuildDirectory { OutputDirectory = "Builds" }); configuration.SetComponent(new ClassicScriptingSettings()); })); var noProfile = new StartLiveLinkWindow.BuildConfigurationViewModel(CreateBuildConfiguration("NonLiveLink", configuration => { configuration.SetComponent(new GeneralSettings()); configuration.SetComponent(new LiveLink()); configuration.SetComponent(new SceneList { BuildCurrentScene = true }); configuration.SetComponent(new OutputBuildDirectory { OutputDirectory = "Builds" }); configuration.SetComponent(new ClassicScriptingSettings()); })); Assert.That(liveLink.IsLiveLinkCompatible, Is.True); Assert.That(nonLiveLink.IsLiveLinkCompatible, Is.False); Assert.That(noProfile.IsLiveLinkCompatible, Is.False); }
public void ConfigurationViewModel_CheckIfActionIsAllowed() { var pipeline = BuildPipeline.LoadAsset(StartLiveLinkWindow.kDefaultLiveLinkBuildPipelineAssetPath); var viewModel = new StartLiveLinkWindow.BuildConfigurationViewModel(CreateBuildConfiguration("Config", configuration => { configuration.SetComponent(new GeneralSettings()); configuration.SetComponent(new SceneList { BuildCurrentScene = true }); configuration.SetComponent(new ClassicBuildProfile { #if UNITY_2020_1_OR_NEWER Pipeline = new LazyLoadReference <BuildPipeline> { asset = pipeline }, #else Pipeline = pipeline, #endif Target = BuildTarget.Android }); configuration.SetComponent(new OutputBuildDirectory { OutputDirectory = "TestConfigurationBuilds" }); configuration.SetComponent(new ClassicScriptingSettings()); })); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.Build, out _), Is.True); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.BuildAndRun, out _), Is.True); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.RunLatestBuild, out var reason), Is.False); Assert.That(reason, Is.EqualTo("No previous build has been found for this configuration.")); viewModel = new StartLiveLinkWindow.BuildConfigurationViewModel(CreateBuildConfiguration("Config", configuration => { configuration.SetComponent(new GeneralSettings()); configuration.SetComponent(new SceneList { BuildCurrentScene = true }); })); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.Build, out _), Is.False); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.BuildAndRun, out _), Is.False); Assert.That(viewModel.IsActionAllowed(StartLiveLinkWindow.StartMode.RunLatestBuild, out _), Is.False); }