public void ReadImageFileIndexReturnsOnlyFilesNotAlreadyImported() { var indexedLocation = "indexedLocation"; var id = "1"; var importedFile = new ImageFileIndexStructure() { Id = "1" }; var moqImageResponse = new ImageFileIndexResponse() { }; moqImageResponse.Files.Add(importedFile); var moqProjectResponse = new ProjectResponse() { Project = new ProjectStructure() { Id = ObjectId.GenerateNewId().ToString() } }; moqProjectResponse.Project.SmallFileIds.Add(importedFile.Id); MockMakerClient.Setup(x => x.ReadImageFileIndex(It.IsAny <string>())).Returns(moqImageResponse); MockMakerClient.Setup(x => x.ReadProject(It.IsAny <string>())).Returns(moqProjectResponse); var model = new ImageFileIndexModel(); model.ReadImageFileIndex(MockMakerClient.Object, indexedLocation, id); Assert.AreEqual(0, model.Files.Count); }
public void ReadImageFileIndexReturnsOneFilesIfOneInCollection() { var indexedLocation = "indexedLocation"; var id = "1"; var importedFile = new ImageFileIndexStructure() { Id = "1" }; var moqImageResponse = new ImageFileIndexResponse(); var moqProjectResponse = new ProjectResponse() { Project = new ProjectStructure() }; moqImageResponse.Files.Add(importedFile); MockMakerClient.Setup(x => x.ReadImageFileIndex(It.IsAny <string>())).Returns(moqImageResponse); MockMakerClient.Setup(x => x.ReadProject(It.IsAny <string>())).Returns(moqProjectResponse); var model = new ImageFileIndexModel(); model.ReadImageFileIndex(MockMakerClient.Object, indexedLocation, id); Assert.AreEqual(1, model.Files.Count); }
public EdgeDetectionResponse GetEdgeCoordinates(string id, ImageFileIndexStructure master, int threshold) { var request = new EdgeDetectionRequest() { Id = id, Master = master, Threshold = threshold }; var response = new EdgeDetectionService.EdgeDetection().GetEdgeCoordinates(request); return(response); }
public MasterImageColourResponse ReadMasterFileColours(ImageFileIndexStructure file, int height, int width) { var request = new MasterImageColourRequest() { Master = file }; var response = new ImageMosaicService.ImageMosaic().GetMasterImageAverageColours(request, height, width); return(response); }
public void ConvertEmptyImageFileIndexStructureReturnsEmptyModel() { var imageFile = new ImageFileIndexStructure(); var model = new TileTableModel(imageFile); Assert.IsTrue(String.IsNullOrEmpty(model.Id)); Assert.IsTrue(String.IsNullOrEmpty(model.FileName)); Assert.IsTrue(String.IsNullOrEmpty(model.FilePath)); Assert.IsTrue(String.IsNullOrEmpty(model.AverageColour)); Assert.IsTrue(String.IsNullOrEmpty(model.LastWriteTime)); }
public TileTableModel(ImageFileIndexStructure imageFile) { Id = imageFile.Id; FileName = imageFile.FileName; FilePath = imageFile.FilePath; LastWriteTime = imageFile.LastWriteTime; if (imageFile.Data != null) { var colour = Color.FromArgb(imageFile.Data.AverageWhole); AverageColour = colour.ToHex(); StandardColour = new FileColourModel().FindClosestColour(colour).ToHex(); } }
public void GetMasterImageAverageColoursReturnsColourList() { var master = new ImageFileIndexStructure() { Id = ObjectId.GenerateNewId().ToString(), FileName = Path.GetFileName(sourceFile), FilePath = sourceFile }; var request = new MasterImageColourRequest() { Master = master }; var response = new ImageMosaic().GetMasterImageAverageColours(request); Assert.AreNotEqual(0, response.AverageTileARGB.ToList().Count); }
public void ConvertImageFileIndexStructureConvertEmptyAverageWholeToBlackHex() { var imageFile = new ImageFileIndexStructure() { Id = ObjectId.GenerateNewId().ToString(), FileName = "FileName", FilePath = "FilePath\\FileName.png", LastWriteTime = DateTime.Now.ToString(), Data = new Metadata() { } }; var model = new TileTableModel(imageFile); Assert.AreEqual(Color.Black.ToHex(), model.AverageColour); }
public async Task AnalyseNewFiles(FileInfo x) { var data = GenerateMetaData(x); var request = new ImageFileIndexStructure() { Id = ObjectId.GenerateNewId().ToString(), FileName = x.Name, FilePath = x.FullName, LastWriteTime = x.LastWriteTime.ToString(), Data = new Metadata() { AverageBL = data.AverageBL.ToArgb(), AverageBR = data.AverageBR.ToArgb(), AverageTL = data.AverageTL.ToArgb(), AverageTR = data.AverageTR.ToArgb(), AverageWhole = data.AverageWhole.ToArgb() } }; var response = new MongoImageFileIndex().Insert(database, request); }
public ImageFileResponse Insert(IMongoDatabase db, ImageFileIndexStructure request) { var collection = db.GetCollection <ImageFileIndexStructure>("ImageFileIndex"); // add further checks to make sure no part of object is empty if (String.IsNullOrEmpty(request.Id)) { return(new ImageFileResponse() { Error = "Id cannot be null or empty" }); } var result = collection.ReplaceOne(x => x.Id.Equals(request.Id), request, new UpdateOptions { IsUpsert = true }); return(new ImageFileResponse() { File = request }); }
public ImageMosaicResponse Generate(string id, IList <ImageFileIndexStructure> tiles, ImageFileIndexStructure master, bool random, int width, int height, bool colourBlended, bool enhanced, int enhancedThreshold, bool edgeDetection, List <PixelCoordinates> edges) { var request = new ImageMosaicRequest() { Id = id, Master = master, Random = random, TileWidth = width, TileHeight = height, ColourBlended = colourBlended, Enhanced = enhanced, EnhancedThreshold = enhancedThreshold, EdgeDetection = edgeDetection }; request.Tiles.AddRange(tiles); request.Edges.AddRange(edges); var response = new ImageMosaicService.ImageMosaic().Generate(request); return(response); }