ApplyingATag.cs 1.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
using System;
using NUnit.Framework;

namespace libgit2sharp.Tests
{
    [TestFixture]
    public class ApplyingATag : ReadWriteRepositoryFixtureBase
    {
        [Test]
        public void ShouldWork() // TODO: Split into different tests (returnATag, PersistTheObject, MultipleApplies, ...)
        {
            const string targetId = "8496071c1b46c854b31185ea97743be6a8774479";
            var signature = new Signature("me", "me@me.me", DateTimeOffset.Now);

            Tag appliedTag;
            using (var repo = new Repository(PathToRepository))
            {
                appliedTag = repo.ApplyTag(targetId, "tagged", "messaged", signature);
            }

21 22 23 24 25 26 27
            var target = appliedTag.Target as Commit;
            Assert.IsNotNull(target);

            Assert.IsNotNull(target.Author);
            Assert.IsNotNull(target.Committer);
            Assert.IsNotNull(target.Message);

28 29 30 31 32 33
            Tag retrievedTag;
            using (var repo = new Repository(PathToRepository))
            {
                retrievedTag = repo.Resolve<Tag>(appliedTag.Id);
            }

34 35 36 37 38 39 40 41
            var target2 = retrievedTag.Target as Commit;
            Assert.IsNotNull(target2);

            Assert.IsNotNull(target2.Author);
            Assert.IsNotNull(target2.Committer);
            Assert.IsNotNull(target2.Message);


42 43
            Assert.AreEqual(appliedTag.Id, retrievedTag.Id);
            // TODO: Finalize comparison
44 45

            //
46 47 48
        }
    }
}