public void StoreObjectStoresEncodedObject() { // Arrange const string knownHash = "44ded774dda9dd8d53dcf37b7c77375180ab45dd"; Mock<IPersistentDictionary> mockStorage = new Mock<IPersistentDictionary>(MockBehavior.Strict); Database db = new Database(new HashGenerator(new SHA1Managed()), new Mock<IReferenceDirectory>().Object, mockStorage.Object, new GitObjectCodec(), new Mock<IPackedObjectDatabase>().Object); using (MemoryStream expectedStrm = new MemoryStream()) { DatabaseObject expectedObj = DatabaseObject.Null(); mockStorage.Setup(s => s.OpenWrite(knownHash, /* create */ true)).Returns(expectedStrm); // Act db.StoreObject(expectedObj); expectedStrm.Flush(); // Assert Assert.Equal("null 0\0", Encoding.ASCII.GetString(expectedStrm.ToArray())); } }
public void StoreObjectRequiresNonNullObject() { Database db = new Database(new HashGenerator(new SHA1Managed()), new Mock<IReferenceDirectory>().Object, new Mock<IPersistentDictionary>().Object, new GitObjectCodec(), new Mock<IPackedObjectDatabase>().Object); Assert.Throws<ArgumentNullException>(() => db.StoreObject(null)) .WithParamName("obj"); }