Bari.Core.Test.Build.Cache.MemoryBuildCacheTest.RestoreWorks C# (CSharp) Method

RestoreWorks() private method

private RestoreWorks ( ) : void
return void
        public void RestoreWorks()
        {
            cache.Store(T, fingerprint.Object,
                        new[]
                            {
                                new TargetRelativePath(String.Empty, "a"),
                                new TargetRelativePath(String.Empty, "b"),
                                new TargetRelativePath(String.Empty, "c")
                            }, root);

            var target = new Mock<IFileSystemDirectory>();

            var a = new MemoryStream();
            var b = new MemoryStream();
            var c = new MemoryStream();

            target.Setup(t => t.CreateBinaryFile("a")).Returns(a);
            target.Setup(t => t.CreateBinaryFile("b")).Returns(b);
            target.Setup(t => t.CreateBinaryFile("c")).Returns(c);

            var paths = cache.Restore(T, target.Object, false);

            paths.Should().HaveCount(3).And.Contain(
                new[]
                    {
                        new TargetRelativePath(String.Empty, "a"),
                        new TargetRelativePath(String.Empty, "b"),
                        new TargetRelativePath(String.Empty, "c")
                    });

            target.Verify(t => t.CreateBinaryFile("a"), Times.Once());
            target.Verify(t => t.CreateBinaryFile("b"), Times.Once());
            target.Verify(t => t.CreateBinaryFile("c"), Times.Once());

            Encoding.UTF8.GetString(a.ToArray()).Should().Be("a");
            Encoding.UTF8.GetString(b.ToArray()).Should().Be("b");
            Encoding.UTF8.GetString(c.ToArray()).Should().Be("c");
        }