public static void FixtureSetup(TestContext testContext) { Trace.Listeners.Add(new DefaultTraceListener()); if (Directory.Exists(DbPath)) { Directory.Delete(DbPath, true); } _database = new LitesonDatabase(Culture, DbPath, new JsonTextSerializer(Culture)); SomeClassList.Clear(); var rnd = new Random(1); for (int i = 0; i < 1000; i++) { var someClass = new SomeClass(rnd.Next(1, 30)); if (i % 2 == 0) { someClass.SomeEnum = SomeEnum.Five; someClass.SomeEnumN = SomeEnum.Zero; someClass.TimeSpan = new TimeSpan(long.MaxValue); someClass.TimeSpanN = new TimeSpan(long.MinValue); someClass.BigInteger = i * int.MaxValue; someClass.BigIntegerN = i * int.MinValue; someClass.Bool = true; someClass.BoolN = false; someClass.Byte = Byte.MaxValue; someClass.ByteN = Byte.MinValue; someClass.Char = 'C'; someClass.CharN = 'c'; someClass.Bytes = Encoding.UTF8.GetBytes("Liteson"); someClass.DateTime = DateTime.MaxValue; someClass.DateTimeN = DateTime.MinValue; someClass.DateTimeOffset = DateTimeOffset.MaxValue; someClass.DateTimeOffsetN = DateTimeOffset.MinValue; someClass.Decimal = decimal.MaxValue; someClass.DecimalN = decimal.MinValue; someClass.Double = double.MaxValue - i; someClass.DoubleN = double.MinValue + i; someClass.Float = float.MaxValue - i; someClass.FloatN = float.MinValue + i; someClass.Guid = Guid.NewGuid(); someClass.GuidN = Guid.Empty; someClass.Int = int.MaxValue; someClass.IntN = int.MinValue; someClass.Uint = uint.MaxValue; someClass.UintN = uint.MinValue; someClass.Long = long.MaxValue; someClass.LongN = long.MinValue; someClass.Ulong = ulong.MaxValue; someClass.UlongN = ulong.MinValue; someClass.Sbyte = sbyte.MaxValue; someClass.SbyteN = sbyte.MinValue; someClass.Short = short.MaxValue; someClass.ShortN = short.MinValue; someClass.Ushort = ushort.MaxValue; someClass.UshortN = ushort.MinValue; someClass.SubClass1 = new SubClass() { Key = i + 1, Value = $"Value{i+1}" }; someClass.SubClass2 = new SubClass() { Key = i + 2, Value = $"Value{i+2}" }; someClass.Strinig = $"SomeClass({i})"; someClass.Uri = new Uri(new Uri("http://www.titaniumsoft.com/"), someClass.Strinig); } else if (i % 3 == 0) { someClass.SomeEnum = SomeEnum.Zero; someClass.SomeEnumN = null; someClass.TimeSpan = TimeSpan.Zero; someClass.TimeSpanN = null; someClass.BigInteger = i * long.MaxValue; someClass.BigIntegerN = null; someClass.Bool = true; someClass.BoolN = false; someClass.Byte = Byte.MaxValue; someClass.ByteN = null; someClass.Char = 'C'; someClass.CharN = null; someClass.Bytes = Encoding.UTF8.GetBytes("Liteson"); someClass.DateTime = DateTime.Today; someClass.DateTimeN = null; someClass.DateTimeOffset = DateTimeOffset.UnixEpoch; someClass.DateTimeOffsetN = null; someClass.Decimal = decimal.One; someClass.DecimalN = null; someClass.Double = double.Epsilon + i; someClass.DoubleN = null; someClass.Float = float.Epsilon + i; someClass.FloatN = null; someClass.Guid = Guid.NewGuid(); someClass.GuidN = null; someClass.Int = int.MaxValue; someClass.IntN = null; someClass.Uint = uint.MaxValue; someClass.UintN = null; someClass.Long = long.MaxValue; someClass.LongN = null; someClass.Ulong = ulong.MaxValue; someClass.UlongN = null; someClass.Sbyte = sbyte.MaxValue; someClass.SbyteN = null; someClass.Short = short.MaxValue; someClass.ShortN = null; someClass.Ushort = ushort.MaxValue; someClass.UshortN = null; someClass.SubClass1 = new SubClass() { Key = i + 1, Value = $"Value{i+1}" }; someClass.SubClass2 = new SubClass() { Key = i + 2, Value = $"Value{i+2}" }; someClass.Strinig = $"SomeClass({i})"; someClass.Uri = new Uri(new Uri("http://www.titaniumsoft.com/"), someClass.Strinig); } else { someClass.SomeEnum = SomeEnum.One; someClass.SomeEnumN = SomeEnum.Zero; someClass.TimeSpan = TimeSpan.Zero; someClass.TimeSpanN = new TimeSpan(long.MinValue); someClass.BigInteger = i * long.MaxValue; someClass.BigIntegerN = i * long.MinValue; someClass.Bool = true; someClass.BoolN = false; someClass.Byte = Byte.MaxValue; someClass.ByteN = Byte.MinValue; someClass.Char = 'C'; someClass.CharN = 'c'; someClass.Bytes = Encoding.UTF8.GetBytes("Liteson"); someClass.DateTime = DateTime.Today; someClass.DateTimeN = DateTime.Today; someClass.DateTimeOffset = DateTimeOffset.UnixEpoch; someClass.DateTimeOffsetN = DateTimeOffset.UnixEpoch; someClass.Decimal = decimal.One; someClass.DecimalN = decimal.Zero; someClass.Double = double.MaxValue - i; someClass.DoubleN = double.NaN; someClass.Float = float.MaxValue - i; someClass.FloatN = float.NaN; someClass.Guid = Guid.NewGuid(); someClass.GuidN = Guid.Empty; someClass.Int = int.MaxValue; someClass.IntN = int.MinValue; someClass.Uint = uint.MaxValue; someClass.UintN = uint.MinValue; someClass.Long = long.MaxValue; someClass.LongN = long.MinValue; someClass.Ulong = ulong.MaxValue; someClass.UlongN = ulong.MinValue; someClass.Sbyte = sbyte.MaxValue; someClass.SbyteN = sbyte.MinValue; someClass.Short = short.MaxValue; someClass.ShortN = short.MinValue; someClass.Ushort = ushort.MaxValue; someClass.UshortN = ushort.MinValue; someClass.SubClass1 = new SubClass() { Key = i + 1, Value = $"Value{i+1}" }; someClass.SubClass2 = new SubClass() { Key = i + 2, Value = $"Value{i+2}" }; someClass.Strinig = $"SomeClass({i})"; someClass.Uri = new Uri(new Uri("http://www.titaniumsoft.com/"), someClass.Strinig); } SomeClassList.Add(someClass); } }
public Text(IInterpreter <Closure> interpreter, ITextDatabase textDatabase) { _textDatabase = textDatabase; interpreter.AddFunction("Text", (Func <string, string>)GetText); }