public void Decode_Entity_Mentions_Separate_Tests()
{
var fileName = ".\\data\\entity-with-mentions.txt";
var json = File.ReadAllText(fileName);
var tweet = JsonConvert.DeserializeObject<Tweet>(json);
var entity = tweet.Entities;
var text = tweet.Text;
Assert.IsNotNull(entity);
Assert.IsInstanceOfType(entity, typeof(BoxKite.Twitter.Models.Entities));
Assert.IsNotNull(entity.Mentions);
entity.Mentions.Count().ShouldBeEquivalentTo(1);
entity.Mentions.ToList()[0].Id.ShouldBeEquivalentTo(22548447);
entity.Mentions.ToList()[0].Name.ShouldBeEquivalentTo("Arnaud Meunier");
entity.Mentions.ToList()[0].ScreenName.ShouldBeEquivalentTo("rno");
entity.Mentions.ToList()[0].indices.Count().ShouldBeEquivalentTo(2);
// do indirect check of string for hashtag
var zeroOffsetStart = entity.Mentions.ToList()[0].indices.ToList()[0];
Assert.IsInstanceOfType(zeroOffsetStart, typeof(Int32));
var zeroOffsetEnd = entity.Mentions.ToList()[0].indices.ToList()[1];
Assert.IsInstanceOfType(zeroOffsetEnd, typeof(Int32));
Assert.IsTrue(QuickSubStringHelper(text, "rno", zeroOffsetStart + 1, (zeroOffsetEnd - zeroOffsetStart - 1))); // +1 -1 is to remove the @
}