public void Non_Null_NotEqual_To_Null_Left() { //Arrange var version = new PlaceholderVersion(new byte[0], new byte[0]); //Act var result = null != version; //Assert Assert.True(result); }
public void Non_Null_Not_Equal_To_Null_Right() { //Arrange var version = new PlaceholderVersion(new byte[0], new byte[0]); //Act var result = version == null; //Assert Assert.False(result); }
public void Trailing_Zeros_Dont_Change_Equality() { //Arrange var version1 = new PlaceholderVersion(new byte[] { 1, 2, 3, 0, 0, 0 }, new byte[] { 4, 5, 6, 7 }); var version2 = new PlaceholderVersion(new byte[] { 1, 2, 3 }, new byte[] { 4, 5, 6, 7, 0 }); //Act var result = version1 == version2; //Assert Assert.True(result); }
public void Multibyte_Representation_Equality() { //Arrange var version1 = new PlaceholderVersion(new byte[] { 1, 2, 3 }, new byte[] { 4, 5, 6, 7 }); var version2 = new PlaceholderVersion(new byte[] { 1, 2, 3 }, new byte[] { 4, 5, 6, 7 }); //Act var result = version1 == version2; //Assert Assert.True(result); }
public void Hashes_Are_Equal() { //Arrange var version1 = new PlaceholderVersion(new byte[] { 1, 2, 3 }, new byte[] { 4, 5, 6, 7 }); var version2 = new PlaceholderVersion(new byte[] { 1, 2, 3 }, new byte[] { 4, 5, 6, 7 }); //Act var result = version1.GetHashCode() == version2.GetHashCode(); //Assert Assert.True(result); }
public void Equal_Via_Object_Equals() { //Arrange var version1 = new PlaceholderVersion(new byte[] { 1, 2, 3 }, new byte[] { 4, 5, 6, 7 }); var version2 = new PlaceholderVersion(new byte[] { 1, 2, 3 }, new byte[] { 4, 5, 6, 7 }); //Act var result = version1.Equals((object)version2); //Assert Assert.True(result); }
public void Empty_Versions_Compare_Equal() { //Arrange var version1 = new PlaceholderVersion(new byte[0], new byte[0]); var version2 = new PlaceholderVersion(new byte[0], new byte[0]); //Act var result = version1 == version2; //Assert Assert.True(result); }
async Task IFileSystem.GetFileData(string path, PlaceholderVersion version, long offset, int length, Stream toWrite) { await Task.Yield(); if (!(ChasePath(path) is SimpleFile file)) { return; } if (file.Version != version) { return; } toWrite.Write(file.GetContent(offset, length).Span); }
public void Faithful_Return_ContentID() { //Arrange var providerID = new byte[0]; var contentID = new byte[] { 37, 91 }; var target = new PlaceholderVersion(providerID, contentID); //Act var newContentID = target.ContentId; //Assert Assert.Equal(2, newContentID.Length); Assert.Equal(37, newContentID[0]); Assert.Equal(91, newContentID[1]); }
static void Main() { var noddyDir = Path.GetFullPath("Noddy"); if (!Directory.Exists(noddyDir)) { Directory.CreateDirectory(noddyDir); } IInstanceManager fileManager = new FileBasedInstanceManager("Noddy.reg"); var instance = fileManager.FindByName("Noddy"); var version = new PlaceholderVersion(new byte[0], new byte[0]); if (instance == null) { var instanceGuid = Guid.NewGuid(); instance = fileManager.Register("Noddy", noddyDir, null, default, version, instanceGuid);
public void Faithful_Return_ProviderID() { //Arrange var providerID = new byte[] { 1, 19, 3 }; var contentID = new byte[0]; var target = new PlaceholderVersion(providerID, contentID); //Act var newProviderID = target.ProviderId; //Assert Assert.Equal(3, newProviderID.Length); Assert.Equal(1, newProviderID[0]); Assert.Equal(19, newProviderID[1]); Assert.Equal(3, newProviderID[2]); }
internal static PRJ_PLACEHOLDER_VERSION_INFO PRJ_PLACEHOLDER_VERSION_INFOFromPlaceholderVersion(PlaceholderVersion original) { var pvi = new PRJ_PLACEHOLDER_VERSION_INFO { ContentID = new byte[Constants.PRJ_PLACEHOLDER_ID_LENGTH], ProviderID = new byte[Constants.PRJ_PLACEHOLDER_ID_LENGTH] }; original.ContentId.CopyTo(pvi.ContentID); original.ProviderId.CopyTo(pvi.ProviderID); return(pvi); }
async IAsyncEnumerator <BasicInfo> IFileSystem.FindContent(string directoryPath, PlaceholderVersion versionInfo, Func <string, bool> filter, IComparer <string> sortOrder, CancellationToken cancel) { if (!(ChasePath(directoryPath) is SimpleDirectory directory)) { yield break; } if (directory.Version != versionInfo) { yield break; } foreach (var item in directory.GetObjects().OrderBy(no => no.Name, sortOrder).Where(no => filter(no.Name))) { yield return(item.BasicMetadata); } }
IRunnableInstance IInstanceManager.Register(string name, string rootPath, string targetPath, InstanceOptions defaultOptions, PlaceholderVersion rootVersionInfo, Guid instanceGuid) { lock (_instanceLock) { if (_names.ContainsKey(name)) { throw new ArgumentException("Name already registered", nameof(name)); } if (_paths.ContainsKey(rootPath)) { throw new ArgumentException("Path already registered", nameof(rootPath)); } if (_guids.ContainsKey(instanceGuid)) { throw new ArgumentException("Instance already registered", nameof(instanceGuid)); } if (_outboundFunctions.PrjMarkDirectoryAsPlaceholder(rootPath, targetPath, LevelShifter.PRJ_PLACEHOLDER_VERSION_INFOFromPlaceholderVersion(rootVersionInfo), instanceGuid) != HRESULT.S_OK) { throw new NotSupportedException("Could not register path with System"); } var instance = new RunnableInstance(name, rootPath, instanceGuid, defaultOptions, _outboundFunctions); _names.Add(name, instance); _paths.Add(rootPath, instance); _guids.Add(instanceGuid, instance); WriteRecord(instance); _dataFile.Flush(); return(instance); } }