public void Can_Remove_value_from_IList()
        {
            var storeMembers = Factory.CreateList();
            storeMembers.ForEach(List.Add);

            var equalItem = new CustomType() { CustomId = 4 };
            storeMembers.Remove(equalItem);
            List.Remove(equalItem);

            var members = List.ToList<CustomType>();

            Factory.AssertListsAreEqual(members, storeMembers);
        }
		public void Can_Serialize_type_with_object()
		{
			var obj = new CustomType { CustomId = 1, CustomName = "Name" };
			var typeWithObject = new Tuple(obj.GetType(), obj);
			byte[] bytes = Encoding.UTF8.GetBytes(JsonSerializer.SerializeToString(typeWithObject));

			var bytesStr = Encoding.UTF8.GetString(bytes);
			var fromTypeWithObject = JsonSerializer.DeserializeFromString<Tuple>(bytesStr);
			var newObj = fromTypeWithObject.Value as CustomType;

			Assert.That(newObj.CustomId, Is.EqualTo(obj.CustomId));
			Assert.That(newObj.CustomName, Is.EqualTo(obj.CustomName));
		}