using AmiReel.Models; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace AmiReel.Tests.Models; [TestClass] public class ShortWizardTests { [TestMethod] public void StepsFor_BrandStyle_IncludesEffectSettingsPage() { // Act IReadOnlyList steps = ShortWizard.StepsFor(ShortStyle.Brand); // Assert CollectionAssert.AreEqual( new[] { ShortWizardStep.Clip, ShortWizardStep.Effect, ShortWizardStep.StyleOptions, ShortWizardStep.Titles, ShortWizardStep.Encode, }, steps.ToArray()); } [TestMethod] public void StepsFor_VideoStyle_IncludesEffectSettingsPage() { // Act IReadOnlyList steps = ShortWizard.StepsFor(ShortStyle.Video); // Assert Assert.IsTrue(steps.Contains(ShortWizardStep.StyleOptions)); Assert.AreEqual(5, steps.Count); } [TestMethod] public void StepsFor_CropStyle_SkipsEffectSettingsPage() { // Act IReadOnlyList steps = ShortWizard.StepsFor(ShortStyle.Crop); // Assert CollectionAssert.AreEqual( new[] { ShortWizardStep.Clip, ShortWizardStep.Effect, ShortWizardStep.Titles, ShortWizardStep.Encode, }, steps.ToArray()); } [TestMethod] public void NeedsStyleOptions_OnlyBrandAndVideo_ReturnsTrue() { // Assert Assert.IsTrue(ShortWizard.NeedsStyleOptions(ShortStyle.Brand)); Assert.IsTrue(ShortWizard.NeedsStyleOptions(ShortStyle.Video)); Assert.IsFalse(ShortWizard.NeedsStyleOptions(ShortStyle.Pixel)); Assert.IsFalse(ShortWizard.NeedsStyleOptions(ShortStyle.Spectrum)); } [TestMethod] public void Description_ForEveryStyle_IsNonEmpty() { foreach (ShortStyle style in Enum.GetValues()) { // Act string description = ShortWizard.Description(style); // Assert Assert.IsFalse(string.IsNullOrWhiteSpace(description), $"{style} is missing a description."); } } [TestMethod] public void Title_ForEveryStep_IsNonEmpty() { foreach (ShortWizardStep step in Enum.GetValues()) { // Act string title = ShortWizard.Title(step); // Assert Assert.IsFalse(string.IsNullOrWhiteSpace(title), $"{step} is missing a title."); } } }