public void Patching_Builder_Installer_Minimal() { var builder = new PatchBuilder(new TestComponent()); // ACTION builder.Install("1.0", "2020-10-20", "MyComp desc").Action(); // ASSERT Assert.AreEqual("MyComp: 1.0", PatchesToString(builder)); var installer = builder.GetPatches()[0] as ComponentInstaller; Assert.IsNotNull(installer); Assert.IsNull(installer.Dependencies); Assert.IsNull(installer.Action); // MORE TESTS // version: "v1.0" builder = new PatchBuilder(new TestComponent()); builder.Install("v1.0", "2020-10-20", "MyComp desc").Action(); Assert.AreEqual("MyComp: 1.0", PatchesToString(builder)); // version: "V1.0" builder = new PatchBuilder(new TestComponent()); builder.Install("V1.0", "2020-10-20", "MyComp desc").Action(); Assert.AreEqual("MyComp: 1.0", PatchesToString(builder)); }
public void Patching_Builder_Patch_Minimal() { var builder = new PatchBuilder(new TestComponent()); // ACTION builder.Patch("1.0", "2.0", "2020-10-20", "desc").Action(); // ASSERT Assert.AreEqual("MyComp: 1.0 <= v < 2.0 --> 2.0", PatchesToString(builder)); var patch = builder.GetPatches()[0] as SnPatch; Assert.IsNotNull(patch); Assert.IsNull(patch.Dependencies); Assert.IsNull(patch.Action); Assert.AreEqual("1.0", patch.Boundary.MinVersion.ToString()); Assert.AreEqual("2.0", patch.Boundary.MaxVersion.ToString()); Assert.IsFalse(patch.Boundary.MinVersionIsExclusive); Assert.IsTrue(patch.Boundary.MaxVersionIsExclusive); // MORE TESTS // versions: "v2.0" builder = new PatchBuilder(new TestComponent()); builder.Patch("v1.0", "v2.0", "2020-10-20", "desc").Action(); Assert.AreEqual("MyComp: 1.0 <= v < 2.0 --> 2.0", PatchesToString(builder)); // versions: "V2.0" builder = new PatchBuilder(new TestComponent()); builder.Patch("V1.0", "V2.0", "2020-10-20", "desc").Action(); Assert.AreEqual("MyComp: 1.0 <= v < 2.0 --> 2.0", PatchesToString(builder)); }
public void Patching_Builder_Installer_BeforeAfter() { var builder = new PatchBuilder(new TestComponent()); // ACTION builder.Install("1.0", "2020-10-20", "MyComp desc") .ActionOnBefore().Action(); // ASSERT var installers = builder.GetPatches() .Select(x => (ComponentInstaller)x).ToArray(); Assert.IsNull(installers[0].ActionBeforeStart); Assert.IsNull(installers[0].Action); }
public void Patching_Builder_Dependency_Direct() { var builder = new PatchBuilder(new TestComponent()); // ACTION builder.Patch("1.0", "2.0", "2020-10-20", "desc") .DependsOn("C1", "1.0") .DependsOn("C2", "2.3.0.15") .Action(); // ASSERT var patch = builder.GetPatches()[0] as SnPatch; var actual = DependenciesToString(patch?.Dependencies ?? new Dependency[0]); Assert.AreEqual("C1: 1.0 <= v | C2: 2.3.0.15 <= v", actual); }
public void Patching_Builder_Dependency_Shared() { var patchBuilder = new PatchBuilder(new TestComponent()); var depBuilder = new DependencyBuilder() .Dependency("C3", "3.0") .Dependency("C4", "4.0"); // ACTION patchBuilder.Patch("1.0", "2.0", "2020-10-20", "desc") .DependsOn(depBuilder) .Action(); // ASSERT var patch = patchBuilder.GetPatches()[0] as SnPatch; var actual = DependenciesToString(patch?.Dependencies ?? new Dependency[0]); Assert.AreEqual("C3: 3.0 <= v | C4: 4.0 <= v", actual); }
/* ============================================================ TOOLS */ private string PatchesToString(PatchBuilder builder) { return(string.Join(" | ", builder.GetPatches())); }