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);
        }
Пример #4
0
        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;
            }
        }
Пример #5
0
        /// <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)));
            }
        }