public void PatternSearch6_LoopUntilMatch() { var src = @"{a: 'Budilnik', 'Name': 'Znatoki', q: 2, z: 148, 'hero': 0x7f}"; var lxr = new JL(new StringSource(src)); var capture = lxr.LazyFSM( (s, t) => s.LoopUntilMatch( (ss, tk) => tk.IsAnyOrAbort(JSONTokenType.tStringLiteral), (ss, tk) => tk.IsAnyOrAbort(JSONTokenType.tColon), (ss, tk) => tk.IsAnyOrAbort(JSONTokenType.tStringLiteral), (ss, tk) => FSMI.TakeAndComplete ), (s, t) => FSMI.Take ); Aver.IsNotNull(capture); Aver.IsTrue(JSONTokenType.tStringLiteral == capture.Type); Aver.AreObjectsEqual("Name", capture.Value); }
public void GDID_EncodeDecode_3() { var src = new ELink(new GDID(567333, 3, 167898777), new byte[] { 1, 2, 3, 4, 5 }); "ELink with GDID and 5 bytes metadata: {0}".SeeArgs(src.Link); var lnk = new ELink(src.Link); var gdid = lnk.GDID; Aver.AreEqual(567333ul, gdid.Era); Aver.AreEqual(3, gdid.Authority); Aver.AreEqual(167898777ul, gdid.Counter); Aver.IsNotNull(lnk.Metadata); Aver.AreEqual(5, lnk.Metadata.Length); Aver.AreEqual(1, lnk.Metadata[0]); Aver.AreEqual(2, lnk.Metadata[1]); Aver.AreEqual(3, lnk.Metadata[2]); Aver.AreEqual(4, lnk.Metadata[3]); Aver.AreEqual(5, lnk.Metadata[4]); }
public void ParseFolderFileParameters() { string bucket; string region; string itemLocalPath; IDictionary <string, string> queryParams; S3V4URLHelpers.Parse("https://dxw.s3-us-west-2.amazonaws.com/MyFolder/MyFile1.txt?marker=1&max-keys=100", out bucket, out region, out itemLocalPath, out queryParams); Aver.AreEqual("dxw", bucket); Aver.AreEqual("us-west-2", region); Aver.AreEqual("MyFolder/MyFile1.txt", itemLocalPath); Aver.IsNotNull(queryParams); Aver.AreEqual(2, queryParams.Count); Aver.IsTrue(queryParams.ContainsKey("marker")); Aver.IsTrue(queryParams.ContainsKey("max-keys")); Aver.AreEqual("1", queryParams["marker"]); Aver.AreEqual("100", queryParams["max-keys"]); }
public void StringMap_Pretty() { var map = new StringMap { { "p1", "v1" }, { "p2", "v2" }, { "Age", "149" } }; var json = map.ToJSON(JSONWritingOptions.PrettyPrint); Console.WriteLine(json); dynamic read = json.JSONToDynamic(); Aver.IsNotNull(read); Aver.AreEqual("v1", read.p1); Aver.AreEqual("v2", read.p2); Aver.AreEqual("149", read.Age); }
public void NLSMap_SerializeOnlyOneNoneExisting() { var content = "{eng: {n: 'Cucumber',d: 'It is green'}, deu: {n: 'Gurke', d: 'Es ist grün'}}"; var nls = new NLSMap(content); var options = new JSONWritingOptions { NLSMapLanguageISO = "rus", Purpose = JSONSerializationPurpose.UIFeed }; var json = nls.ToJSON(options); Console.WriteLine(json); dynamic read = json.JSONToDynamic(); Aver.IsNotNull(read); Aver.AreEqual("Cucumber", read.n); Aver.AreEqual("It is green", read.d); }
public void VoidSuccessedPayoutTest() { var ps = PayPalSys; var amount = new Amount("USD", 1.1m); var from = new Account("SYSTEM", 111, 222); var to = new Account("USER", 111, 222); object id = null; using (var session = ps.StartSession()) { session.StoreAccountData(new ActualAccountData(from) { Identity = from.Identity, IdentityID = from.IdentityID, AccountID = from.AccountID }); session.StoreAccountData(new ActualAccountData(to) { Identity = from.Identity, IdentityID = from.IdentityID, AccountID = PayPalHost.PaypalValidAccount }); var tran = session.Transfer(from, to, amount); id = tran.ID; } var transaction = PayPalHost.FetchTransaction(id); Aver.IsNotNull(transaction); refreshTransaction(transaction); Aver.IsTrue(TransactionStatus.Pending == transaction.Status); refreshTransaction(transaction); Aver.IsTrue(TransactionStatus.Success == transaction.Status); transaction.Void(); }
public void PopulateAndUpsertNonExisting() { var tbl = new Table(Schema.GetForTypedDoc(typeof(Person))); for (var i = 0; i < 1000; i++) { tbl.Insert(new Person { ID = "POP{0}".Args(i), FirstName = "Oleg", LastName = "Popov-{0}".Args(i), DOB = new DateTime(1953, 12, 10), YearsInSpace = 12 }); } var update = new Person { ID = "GOODMAN17", FirstName = "John", LastName = "Jeffer", DOB = new DateTime(1952, 12, 10), YearsInSpace = 14 }; var res = tbl.Upsert(update);//<-------------!!!!!! Aver.IsFalse(res.Updated); Aver.AreEqual(1001, tbl.Count); var match = tbl.FindByKey("POP17") as Person; Aver.IsNotNull(match); Aver.AreEqual("Oleg", match.FirstName); Aver.AreEqual("Popov-17", match.LastName); match = tbl.FindByKey("GOODMAN17") as Person; Aver.IsNotNull(match); Aver.AreEqual("John", match.FirstName); Aver.AreEqual("Jeffer", match.LastName); }
public void Key_Violation() { var data1 = new MyData { ID = 1, Data = "My data string 1" }; var data2 = new MyData { ID = 2, Data = "My data string 2" }; var data1again = new MyData { ID = 1, Data = "My data string 1 again" }; m_Store.Insert(data1); m_Store.Insert(data2); try { m_Store.Insert(data1again); Aver.Fail("No key violation"); } catch (Exception error) { var dae = error as MongoDbDataAccessException; Aver.IsNotNull(dae); Aver.IsNotNull(dae.KeyViolation); Aver.IsTrue(dae.KeyViolationKind == KeyViolationKind.Primary); Console.WriteLine(error.ToMessageWithType()); Console.WriteLine("Key violation is: " + dae.KeyViolation); } var rowset = m_Store.LoadOneRowset(new Query("CRUD.LoadAllMyData", typeof(MyData))); Aver.IsNotNull(rowset); Aver.AreEqual(2, rowset.Count); Aver.AreObjectsEqual(1, rowset[0][0].AsInt()); Aver.AreObjectsEqual(2, rowset[1][0].AsInt()); }
public void InsertDelete() { for (var i = 0; i < 100; i++) { var row = new MyPerzon { GDID = new GDID(1, 1, (ulong)i), Name = "Jeka Koshmar", Age = i }; m_Store.Insert(row); } var qryBetween1015 = new Query("CRUD.LoadPerzonsInAgeSpan", typeof(MyPerzon)) { new Query.Param("fromAge", 10), new Query.Param("toAge", 15) }; var rs = m_Store.LoadOneRowset(qryBetween1015); Aver.IsNotNull(rs); Aver.AreEqual(4, rs.Count); Aver.AreObjectsEqual(14, rs.First()["Age"]); Aver.AreObjectsEqual(11, rs.Last()["Age"]); Aver.AreEqual(1, m_Store.Delete(rs.First()));//DELETE!!!! rs = m_Store.LoadOneRowset(qryBetween1015); Aver.IsNotNull(rs); Aver.AreEqual(3, rs.Count); Aver.AreObjectsEqual(13, rs.First()["Age"]); Aver.AreObjectsEqual(11, rs.Last()["Age"]); }
public void T3100_Dictionary_TYPE_Int_Field() { using (var ms = new MemoryStream()) { var s = new SlimSerializer(); var d1 = new dictTypeClass { Data = new Dictionary <Type, int>(0xff), ADummy = new List <Type>(0xff) }; d1.Data.Add(typeof(List <S3>), 1); d1.Data.Add(typeof(S3[]), 20); d1.Data.Add(typeof(Tuple <string, S3>), 90); d1.ADummy.Add(typeof(List <S3>)); d1.ADummy.Add(typeof(S3[])); d1.ADummy.Add(typeof(Tuple <string, S3>)); s.Serialize(ms, d1); ms.Position = 0; var d2 = s.Deserialize(ms) as dictTypeClass; Aver.IsNotNull(d2); Aver.IsNotNull(d2.Data); Aver.IsNotNull(d2.ADummy); Aver.AreEqual(3, d2.Data.Count); Aver.AreEqual(1, d2.Data[typeof(List <S3>)]); Aver.AreEqual(20, d2.Data[typeof(S3[])]); Aver.AreEqual(90, d2.Data[typeof(Tuple <string, S3>)]); Aver.AreEqual(3, d2.ADummy.Count); Aver.AreObjectsEqual(typeof(List <S3>), d2.ADummy[0]); Aver.AreObjectsEqual(typeof(S3[]), d2.ADummy[1]); Aver.AreObjectsEqual(typeof(Tuple <string, S3>), d2.ADummy[2]); } }
public void Insert_FindOne_Parallel(int maxConnections) { const int CNT = 75000; using (var client = new MongoClient(NOPApplication.Instance, "My Test")) { var server = client.DefaultLocalServer; server.MaxConnections = maxConnections; var db = server["db1"]; db["t1"].Drop(); var t1 = db["t1"]; var sw = Stopwatch.StartNew(); Parallel.For(0, CNT, (i) => { Aver.AreEqual(1, db["t1"].Insert(new BSONDocument().Set(new BSONInt32Element("_id", i)) .Set(new BSONStringElement("val", "num-" + i.ToString())) ).TotalDocumentsAffected); }); var e1 = sw.ElapsedMilliseconds; Aver.AreEqual(CNT, t1.Count()); Console.WriteLine("Insert Parallel: {0:n0} times in {1:n0} ms at {2:n0} ops/sec MAX CONNECTIONS={3} ".Args(CNT, e1, CNT / (e1 / 1000d), maxConnections)); sw.Restart(); Parallel.For(0, CNT, (i) => { var got = db["t1"].FindOne(Query.ID_EQ_Int32(i)); Aver.IsNotNull(got); Aver.AreEqual("num-" + i.ToString(), got["val"].AsString()); }); var e2 = sw.ElapsedMilliseconds; Console.WriteLine("FindOne Parallel: {0:n0} times in {1:n0} ms at {2:n0} ops/sec MAX CONNECTIONS={3} ".Args(CNT, e2, CNT / (e2 / 1000d), maxConnections)); } }
public void Test_WithVariousNullableStructsDoc_InnerList() { var d1 = new WithVariousNullableStructsDoc { InnerList = new List <WithVariousNullableStructsDoc> { new WithVariousNullableStructsDoc { Atom = Atom.Encode("Baba"), Inner = new WithVariousNullableStructsDoc { Atom = Atom.Encode("Yaga") } }, null, null, new WithVariousNullableStructsDoc { Atom = Atom.Encode("Kulibin") } } }; var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap); Console.WriteLine(json); var map = json.JsonToDataObject() as JsonDataMap; var d2 = new WithVariousNullableStructsDoc(); JsonReader.ToDoc(d2, map); Aver.IsNotNull(d2.InnerList); Aver.AreEqual(4, d2.InnerList.Count); Aver.AreEqual("Baba", d2.InnerList[0].Atom.Value.Value); Aver.IsNotNull(d2.InnerList[0].Inner); Aver.AreEqual("Yaga", d2.InnerList[0].Inner.Atom.Value.Value); Aver.IsNull(d2.InnerList[1]); Aver.IsNull(d2.InnerList[2]); Aver.IsNotNull(d2.InnerList[3]); Aver.AreEqual("Kulibin", d2.InnerList[3].Atom.Value.Value); }
public void InsertAndLoad() { var row = new MyPerzon { GDID = new GDID(1, 1, 100), Name = "Jeka Koshmar", Age = 89 }; store.Insert(row); var row2 = store.LoadOneRow(new Query("CRUD.LoadPerzon", typeof(MyPerzon)) { new Query.Param("id", row.GDID) }) as MyPerzon; Aver.IsNotNull(row2); Aver.AreEqual(row.GDID, row2.GDID); Aver.AreEqual(row.Name, row2.Name); Aver.AreEqual(row.Age, row2.Age); }
public void Test02_Batch() { var doc1 = new Doc1 { S1 = "shr", S2 = "01", I1 = 15 }; var got = doc1.Validate(new ValidState(null, ValidErrorMode.Batch)); got.See(); Aver.IsTrue(got.IsAssigned); Aver.IsTrue(got.HasErrors); Aver.IsFalse(got.NoErrors); Aver.AreEqual(1, got.ErrorCount); Aver.IsTrue(got.ShouldContinue); Aver.IsFalse(got.ShouldStop); Aver.IsNotNull(got.Error); var fve = got.Error as FieldValidationException; Aver.IsNotNull(fve); Aver.IsTrue(fve.Message.Contains("length of 5")); }
public void Doc_LocalDates_fromLocal() { var json = "{date: '1985-12-31T23:59:53-01:00', ndate: null}"; var doc = JsonReader.ToDoc <DateDoc>(json, options: new JsonReader.DocReadOptions(JsonReader.DocReadOptions.By.CodeName, null, localDates: true)); Aver.IsNotNull(doc); doc.Date.See("Kind: " + doc.Date.Kind); Aver.IsNull(doc.NDate); var date = new DateTime(1985, 12, 31, 23, 59, 53, DateTimeKind.Utc).AddHours(+1);//UTC equivalent of json date = TimeZoneInfo.ConvertTimeFromUtc(date, TimeZoneInfo.Local); Aver.IsTrue(DateTimeKind.Local == doc.Date.Kind);//asked for local date and got local Aver.AreEqual(date.Year, doc.Date.Year); Aver.AreEqual(date.Month, doc.Date.Month); Aver.AreEqual(date.Day, doc.Date.Day); Aver.AreEqual(date.Hour, doc.Date.Hour); Aver.AreEqual(date.Minute, doc.Date.Minute); Aver.AreEqual(date.Second, doc.Date.Second); }
public void TrailingComma_Object_2() { var json = @"{ a: [1,-2,], b: [{f: true},{f: false},{f: null},] , /* comment: comment */ }"; var src = new StringSource(json); var got = JazonParser.Parse(src, true) as JsonDataMap; Aver.IsNotNull(got); var a = got["a"] as JsonDataArray; Aver.IsNotNull(a); Aver.AreEqual(2, a.Count); Aver.AreObjectsEqual(1, a[0]); Aver.AreObjectsEqual(-2, a[1]); var b = got["b"] as JsonDataArray; Aver.IsNotNull(b); Aver.AreEqual(3, b.Count); Aver.AreObjectsEqual(true, (b[0] as JsonDataMap)["f"]); Aver.AreObjectsEqual(false, (b[1] as JsonDataMap)["f"]); Aver.AreObjectsEqual(null, (b[2] as JsonDataMap)["f"]); }
public void PutByteArray_GetDirectUnsafe() { using (var pile = new DefaultPile(NOPApplication.Instance)) { pile.Start(); var ptr = pile.Put(new byte[] { 1, 6, 9 }); var got = pile.GetDirectMemoryBufferUnsafe(ptr, out var sflag); Aver.IsNotNull(got.Array); for (var i = 0; i < 8; i++) { "{0} {1:x2} {2}".SeeArgs(got.Offset, got.Array[got.Offset + i], (char)got.Array[got.Offset + i]); } Aver.AreEqual(3, got.Count); Aver.AreEqual(1, got.Array[got.Offset + 0]); Aver.AreEqual(6, got.Array[got.Offset + 1]); Aver.AreEqual(9, got.Array[got.Offset + 2]); } }
public void Test_WithVariousNullableStructsDoc_InnerArray() { var d1 = new WithVariousNullableStructsDoc { InnerArray = new WithVariousNullableStructsDoc[] { new WithVariousNullableStructsDoc { Atom = Atom.Encode("Baba"), Inner = new WithVariousNullableStructsDoc { Atom = Atom.Encode("Yaga") } }, null, null, new WithVariousNullableStructsDoc { Atom = Atom.Encode("Kulibin") } } }; var json = d1.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap); json.See(); var map = json.JsonToDataObject() as JsonDataMap; var d2 = new WithVariousNullableStructsDoc(); JsonReader.ToDoc(d2, map); Aver.IsNotNull(d2.InnerArray); Aver.AreEqual(4, d2.InnerArray.Length); Aver.AreEqual("Baba", d2.InnerArray[0].Atom.Value.Value); Aver.IsNotNull(d2.InnerArray[0].Inner); Aver.AreEqual("Yaga", d2.InnerArray[0].Inner.Atom.Value.Value); Aver.IsNull(d2.InnerArray[1]); Aver.IsNull(d2.InnerArray[2]); Aver.IsNotNull(d2.InnerArray[3]); Aver.AreEqual("Kulibin", d2.InnerArray[3].Atom.Value.Value); }
public void DefaultMappings_htm_multiple_exts() { using (var app = new AzosApplication(null, null)) { var maps = app.GetContentTypeMappings(); Aver.IsNotNull(maps); var map1 = maps.MapFileExtension("htm"); Aver.IsNotNull(map1); Aver.IsFalse(map1.IsGeneric); Aver.IsFalse(map1.IsBinary); Aver.IsTrue(map1.IsText); Aver.IsFalse(map1.IsImage); Aver.AreEqual("text/html", map1.ContentType); Aver.IsNotNull(map1.Metadata); Aver.IsFalse(map1.Metadata.Exists); var map2 = maps.MapFileExtension("html"); Aver.IsNotNull(map2); Aver.AreSameRef(map1, map2); } }
public void Frame_02() { var obj = new Frame() { Payload = new DataB { Common = "Common2", B = "B1" } }; var json = obj.ToJson(JsonWritingOptions.PrettyPrintRowsAsMap); json.See("JSON: "); var got = JsonReader.ToDoc <Frame>(json); got.See("GOT: "); var data = got.Payload as DataB; Aver.IsNotNull(data); Aver.AreEqual("Common2", data.Common); Aver.AreEqual("B1", data.B); }
public async Task BuildComplexRockets() { /* Arrange */ IEnumerable <RocketOrder> got; /* Act */ got = MockRockets.GetComplexOrders(); //got.See(); /* Assert */ Aver.IsNotNull(got); Aver.IsTrue(got.Any()); var builtRockets = RocketBuilder.Build(got); Aver.IsTrue(await builtRockets.AnyAsync()); await foreach (var rocket in builtRockets) { rocket.See(); } }
public void InsertAndLoadRowIntoDynamicRow() { var row = new MyPerzon { GDID = new GDID(2, 2, 200), Name = "Zalup Marsoedov", Age = 89 }; m_Store.Insert(row); var row2 = m_Store.LoadDoc(new Query <DynamicDoc>("CRUD.LoadPerzon") { new Query.Param("id", row.GDID) }); Aver.IsNotNull(row2); Aver.AreEqual(row.GDID, row2["_id"].AsGDID()); Aver.AreObjectsEqual(row.Name, row2["Name"]); Aver.AreObjectsEqual(row.Age, row2["Age"]); }
public void EstimateShippingCost_USPS_NoTemplate() { using (var session = ShippingSystem.StartSession()) { var usps = session.GetShippingCarriers(null).First(c => c.Type == CarrierType.USPS); var method = usps.Services["USPS_PRIORITY"]; var shipment = getDefaultShipment(usps, method); var estShipment = session.EstimateShippingCost(null, shipment); Aver.IsNotNull(estShipment.Cost); Aver.AreEqual(estShipment.Cost.Value.CurrencyISO, "USD"); Aver.IsTrue(estShipment.Cost.Value.Value > 0); method = usps.Services["USPS_PRIORITY_EXPRESS"]; shipment = getDefaultShipment(usps, method); estShipment = session.EstimateShippingCost(null, shipment); Aver.IsNotNull(estShipment.Cost); Aver.AreEqual(estShipment.Cost.Value.CurrencyISO, "USD"); Aver.IsTrue(estShipment.Cost.Value.Value > 0); method = usps.Services["USPS_PARCEL_SELECT"]; shipment = getDefaultShipment(usps, method); estShipment = session.EstimateShippingCost(null, shipment); Aver.IsNotNull(estShipment.Cost); Aver.AreEqual(estShipment.Cost.Value.CurrencyISO, "USD"); Aver.IsTrue(estShipment.Cost.Value.Value > 0); method = usps.Services["USPS_FIRST"]; shipment = getDefaultShipment(usps, method); estShipment = session.EstimateShippingCost(null, shipment); Aver.IsNotNull(estShipment.Cost); Aver.AreEqual(estShipment.Cost.Value.CurrencyISO, "USD"); Aver.IsTrue(estShipment.Cost.Value.Value > 0); } }
public void InsertAndLoadWithProjection() { var row = new MyPerzon { GDID = new GDID(1, 1, 100), Name = "Jeka Koshmar", Age = 89 }; m_Store.Insert(row); var row2 = m_Store.LoadOneDoc(new Query("CRUD.LoadPerzonAge", typeof(MyPerzon)) { new Query.Param("id", row.GDID) }) as MyPerzon; Aver.IsNotNull(row2); Aver.AreEqual(GDID.Zero, row2.GDID); Aver.AreEqual(null, row2.Name); Aver.AreEqual(row.Age, row2.Age); }
public async Task ClientAccessCodeToken_2_DifferentType_Unsafe_Validate() { var token = m_Ring.GenerateNew <ClientAccessCodeToken>(); token.IssuedBy = "a1"; token.ClientId = "client123"; token.RedirectURI = "http://disney.com"; token.State = "state789"; token.SubjectSysAuthToken = new SysAuthToken("test", "test content").ToString(); var issued = await m_Ring.PutAsync(token); Aver.IsNotNull(issued); "Issued {0} of {1} chars: {2}".SeeArgs(token.GetType().Name, issued.Length, issued); var got = await m_Ring.GetAsync <ClientRefreshCodeToken>(issued); Aver.IsNull(got); //because token did not pass validation as it was gotten into a different type got = await m_Ring.GetUnsafeAsync <ClientRefreshCodeToken>(issued); //<-----UNSAFE Aver.IsNotNull(got); //however unsafe version did return the token got.See(); Aver.AreEqual(token.ClientId, got.ClientId); Aver.AreEqual(token.IssuedBy, got.IssuedBy); //Aver.AreEqual(token.RedirectURI, got.RedirectURI); //Aver.AreEqual(token.State, got.State); Aver.AreEqual(token.SubjectSysAuthToken, got.SubjectSysAuthToken); var ve = got.Validate(RingToken.PROTECTED_MSG_TARGET); Aver.IsNotNull(ve); Aver.IsTrue(ve is FieldValidationException); "Expected and got: {0}".See(ve.ToMessageWithType()); Aver.IsTrue(ve.Message.Contains("Type Mismatch")); }
public void TestHeavyBenchmark(int count) { using (var pile = new DefaultPile()) { pile.Start(); var ipile = pile as IPile; var data = HeavyProductRow.Build(); var pp = PilePointer.Invalid; var sw = Stopwatch.StartNew(); for (var i = 0; i < count; i++) { pp = ipile.Put(data); } var wms = sw.ElapsedMilliseconds; Console.WriteLine("Created {0:n0} in {1:n0} ms at {2:n0} ops/sec".Args(count, wms, count / (wms / 1000d))); Console.WriteLine("Occupied bytes {0:n0}".Args(pile.AllocatedMemoryBytes)); HeavyProductRow got = null; sw.Restart(); for (var i = 0; i < count; i++) { got = ipile.Get(pp) as HeavyProductRow; Aver.IsNotNull(got); Aver.AreEqual(data.GDID, got.GDID); } var rms = sw.ElapsedMilliseconds; Console.WriteLine("Read {0:n0} in {1:n0} ms at {2:n0} ops/sec".Args(count, rms, count / (rms / 1000d))); Aver.AreEqual(3, got.SKUs.Length); Aver.AreEqual(6, got.Prices.Length); } }
public void NLS_Array() { using (var ms = new MemoryStream()) { var s = new SlimSerializer(); var dIn = new NLSMap[] { new NLSMap("eng{n='name' d='description'} rus{n='имя' d='описание'}".AsLaconicConfig()), new NLSMap("eng{n='color' d='of product'} rus{n='zvet' d='producta'}".AsLaconicConfig()), new NLSMap("eng{n='size' d='of item'} rus{n='razmer' d='tovara'}".AsLaconicConfig()) }; s.Serialize(ms, dIn); ms.Seek(0, SeekOrigin.Begin); var dOut = (NLSMap[])s.Deserialize(ms); Aver.IsNotNull(dOut); Aver.AreEqual(3, dOut.Length); Aver.AreEqual("name", dOut[0].Get(NLSMap.GetParts.Name, "eng")); Aver.AreEqual("имя", dOut[0].Get(NLSMap.GetParts.Name, "rus")); Aver.AreEqual("description", dOut[0].Get(NLSMap.GetParts.Description, "eng")); Aver.AreEqual("описание", dOut[0].Get(NLSMap.GetParts.Description, "rus")); Aver.AreEqual("color", dOut[1].Get(NLSMap.GetParts.Name, "eng")); Aver.AreEqual("zvet", dOut[1].Get(NLSMap.GetParts.Name, "rus")); Aver.AreEqual("of product", dOut[1].Get(NLSMap.GetParts.Description, "eng")); Aver.AreEqual("producta", dOut[1].Get(NLSMap.GetParts.Description, "rus")); Aver.AreEqual("size", dOut[2].Get(NLSMap.GetParts.Name, "eng")); Aver.AreEqual("razmer", dOut[2].Get(NLSMap.GetParts.Name, "rus")); Aver.AreEqual("of item", dOut[2].Get(NLSMap.GetParts.Description, "eng")); Aver.AreEqual("tovara", dOut[2].Get(NLSMap.GetParts.Description, "rus")); } }
public void Find_Comparison_DateTime() { using (var client = new MongoClient(NOPApplication.Instance, "My client")) { var db = client.DefaultLocalServer["db1"]; db["t1"].Drop(); var collection = db["t1"]; foreach (var day in Enumerable.Range(1, 26)) { Aver.AreEqual(1, collection.Insert( new BSONDocument().Set(new BSONStringElement("name", "Ivan" + day.ToString())) .Set(new BSONDateTimeElement("dt", new DateTime(2017, 3, day, 0, 0, 0, DateTimeKind.Utc)))) .TotalDocumentsAffected); } var query = new Query( @"{ 'dt': {'$lte': '$$DT'} }", false, new TemplateArg("DT", BSONElementType.DateTime, new DateTime(2017, 3, 2, 0, 0, 0, DateTimeKind.Utc)) ); var lt1 = collection.Find(query); lt1.MoveNext(); Aver.IsNotNull(lt1.Current); Aver.AreObjectsEqual("Ivan1", lt1.Current["name"].ObjectValue); Aver.AreObjectsEqual(new DateTime(2017, 3, 1, 0, 0, 0, DateTimeKind.Utc), lt1.Current["dt"].ObjectValue); lt1.MoveNext(); Aver.AreObjectsEqual("Ivan2", lt1.Current["name"].ObjectValue); Aver.AreObjectsEqual(new DateTime(2017, 3, 2, 0, 0, 0, DateTimeKind.Utc), lt1.Current["dt"].ObjectValue); lt1.MoveNext(); Aver.AreEqual(true, lt1.EOF); } }
public void StringMap_WideCharsLong(int cnt) { using (var ms = new MemoryStream()) { var s = new SlimSerializer(); var original1 = new string('久', cnt); var original2 = "就是巴尼宝贝儿吧,俺说。有什么怪事儿或是好事儿吗? когда американские авианосцы 'Уинсон' и 'Мидуэй' приблизились 지구상의 3대 we have solved the problem"; var dIn = new stringMapCls { Map1 = new StringMap(false) { { "a", original1 }, { "b", original2 } } }; s.Serialize(ms, dIn); ms.Seek(0, SeekOrigin.Begin); var dOut = (stringMapCls)s.Deserialize(ms); Aver.IsNotNull(dOut); Aver.IsNotNull(dOut.Map1); Aver.IsNull(dOut.Map2); Aver.IsFalse(dOut.Map1.CaseSensitive); Aver.AreEqual(2, dOut.Map1.Count); Aver.AreEqual(original1, dOut.Map1["a"]); Aver.AreEqual(original1, dOut.Map1["A"]); Aver.AreEqual(original2, dOut.Map1["b"]); Aver.AreEqual(original2, dOut.Map1["B"]); } }
public void CreateWriteCopyReadFile() { using (new NFX.ApplicationModel.ServiceBaseApplication(null, LACONF.AsLaconicConfig())) { var fs = FS.FileSystem.Instances[NFX_S3]; using (var session = fs.StartSession()) { var dir = session[S3_ROOT_FS] as FileSystemDirectory; using (Stream s = new FileStream(FN2_FS_FULLPATH, FileMode.Create, FileAccess.Write)) { var wri = new BinaryWriter(s); wri.Write("Hello!"); wri.Write(true); wri.Write(27.4d); wri.Close(); } //FN3 copied from FN2 and made readonly Aver.IsNotNull(dir.CreateFile(FN3_FS, Path.Combine(LOCAL_ROOT_FS, FN2_FS), true)); using (var file = session[fs.CombinePaths(S3_ROOT_FS, FN3_FS)] as FileSystemFile) { var str = file.FileStream; var rdr = new BinaryReader(str); Aver.AreEqual("Hello!", rdr.ReadString()); Aver.AreEqual(true, rdr.ReadBoolean()); Aver.AreEqual(27.4d, rdr.ReadDouble()); } } } }