public void ReplaceImageTags_ShouldReplaceGarmentHash_WhenNoGarmentTag() { var taggedItem = new Common.TaggedItem() { ItemName = "item_name.jpg", }; var actual = _service.ReplaceImageTags("my #TagGarment is black", taggedItem); Assert.AreEqual("my garment is black", actual); }
public void ReplaceImageTags_ShouldReplaceGarmentHash_WhenGarmentTagSet() { var taggedItem = new Common.TaggedItem() { ItemName = "item_name.jpg", ItemTags = new List <Common.Constants.TaggedItem>() { (Common.Constants.TaggedItem) "TagGarmentBra" }, }; var actual = _service.ReplaceImageTags("my #TagGarment is black", taggedItem); Assert.AreEqual("my bra is black", actual); }
public void ReplaceImageTags_ShouldReplaceGarmentHash_WhenNoGarmentSet() { var taggedItem = new Common.TaggedItem() { ItemName = "item_name.jpg", ItemTags = new List <Common.Constants.TaggedItem>() { Common.Constants.TaggedItem.GarmentCovering, } }; var actual = _service.ReplaceImageTags("my #TagGarment is black", taggedItem); Assert.AreEqual("my garment is black", actual); }
public string ReplaceImageTags(string messageString, Common.TaggedItem slide) { try { // nothing to do if (slide == null) { return(messageString); } var newMessage = messageString.Replace("#TagGarment", GetReplacementString(slide.ItemTags, "TagGarment", Common.Constants.TaggedItem.GarmentCovering, "garment")); newMessage = newMessage.Replace("#TagUnderwear", GetReplacementString(slide.ItemTags, "TagUnderwear", Common.Constants.TaggedItem.Underwear, "underwear")); newMessage = newMessage.Replace("#TagTattoo", GetReplacementString(slide.ItemTags, "TagTattoo", Common.Constants.TaggedItem.Tattoo, "tattoo")); newMessage = newMessage.Replace("#TagSexToy", GetReplacementString(slide.ItemTags, "TagSexToy", Common.Constants.TaggedItem.SexToy, "sex toy")); newMessage = newMessage.Replace("#TagFurniture", GetReplacementString(slide.ItemTags, "TagFurniture", Common.Constants.TaggedItem.Furniture, "furniture")); return(messageString); } catch (Exception ex) { throw; } }
/// <summary> /// Read the tag string and return the tagged items. /// This uses the old format stored in .txt files /// </summary> /// <param name="data">data from the file, *NOT* the filename</param> /// <returns></returns> public Result <List <Common.TaggedItem> > ParseTagData(string data) { try { var result = new List <Common.TaggedItem>(); var lines = data.Split(Environment.NewLine.ToCharArray()); foreach (var line in lines) { if (string.IsNullOrWhiteSpace(line)) { continue; } var item = new Common.TaggedItem(); var tokens = line.Split(' ').ToList(); for (var i = tokens.Count - 1; i >= 0; i--) { // this is unfortunate, but how we have to do it. // If we can't map the tag, assume it's filename var parseTag = FindTag(tokens[i]); if (parseTag.IsFailure) { break; } item.ItemTags.Add(parseTag.Value); tokens.RemoveAt(i); } item.ItemName = string.Join(" ", tokens); result.Add(item); } return(Result.Ok(result)); } catch (Exception ex) { return(Result.Fail <List <Common.TaggedItem> >(new Error(ex.Message))); } }