コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        /* ============================================================ TOOLS */

        private string PatchesToString(PatchBuilder builder)
        {
            return(string.Join(" | ", builder.GetPatches()));
        }