public void DefaultMappings_Generic() { using (var app = new AzosApplication(null, null)) { var maps = app.GetContentTypeMappings(); Aver.IsNotNull(maps); Aver.IsNull(maps["cracks-pacs-facs"]); var map = maps.MapFileExtension("cracks-pacs-facs"); Aver.IsNotNull(map); Aver.IsTrue(map.IsGeneric); Aver.IsTrue(map.IsBinary); Aver.IsFalse(map.IsText); Aver.IsFalse(map.IsImage); Aver.IsNotNull(map.Metadata); Aver.IsFalse(map.Metadata.Exists); Aver.AreSameRef(ContentType.Mapping.GENERIC_BINARY, map); } }
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 Dated2GDIDWithISOKey_CreateEquate_3() { var dt1 = new DateTime(1980, 10, 2, 14, 0, 0, DateTimeKind.Utc); var dt2 = new DateTime(1980, 10, 2, 0, 18, 0, DateTimeKind.Utc); var k1 = new Dated2GDIDWithISOKey(dt1, new GDID(10, 20), new GDID(10, 30), "ua"); var k2 = new Dated2GDIDWithISOKey(dt2, new GDID(10, 20), new GDID(10, 30), "UA"); Aver.AreEqual("UA", k1.ISOCode); Aver.AreEqual("UA", k2.ISOCode); Aver.AreEqual(k1, k2); Aver.IsTrue(k1.Equals(k2)); var o = k2; Aver.IsTrue(k1.Equals(o)); Aver.AreEqual(k1.GetHashCode(), k2.GetHashCode()); Aver.AreEqual(k1.GetDistributedStableHash(), k2.GetDistributedStableHash()); Console.WriteLine(k1.ToString()); }
public void T24() { var tran = new LockTransaction("Testing 101", "A", 0, 0.0d, LockOp.Block( LockOp.SelectConstantValue("A", 123), LockOp.If( LockOp.False,//condition LockOp.SelectConstantValue("B", "THEN"), LockOp.Abort() )//if ) ); var session = new Agni.Locking.Server.LockSessionData(new LockSessionID(null), "My session", 1000); var result = m_Server.ExecuteLockTransaction(session, tran); Aver.IsTrue(LockStatus.TransactionError == result.Status); Aver.IsTrue(LockErrorCause.Statement == result.ErrorCause); Aver.AreEqual("0:/BlockOp/IfOp/AbortOp/", result.FailedStatement); }
public void WithoutPRAGMA_2() { var src = @"a123 b c d e f g h j k"; var qs = new QuerySource("1", src); Aver.IsFalse(qs.HasPragma); Aver.IsTrue(qs.ReadOnly); Aver.AreEqual("a123", qs.OriginalSource.ReadLine()); Aver.AreEqual("a123", qs.StatementSource.ReadLine()); }
public void T11() { var tran = new LockTransaction("Testing 101", "A", 0, 0.0d, LockOp.Assert(LockOp.True), LockOp.Assert(LockOp.And(LockOp.True, LockOp.True)), LockOp.Assert(LockOp.Or(LockOp.False, LockOp.True)), LockOp.Assert(LockOp.Not(LockOp.Or(LockOp.False, LockOp.False))), LockOp.Assert(LockOp.Not(LockOp.False)), LockOp.Assert(LockOp.Xor(LockOp.False, LockOp.True)), LockOp.Assert(LockOp.Xor(LockOp.True, LockOp.False)), LockOp.Assert(LockOp.Not(LockOp.Xor(LockOp.False, LockOp.True))), LockOp.Assert(LockOp.Not(LockOp.Xor(LockOp.False, LockOp.False))) ); var session = new Agni.Locking.Server.LockSessionData(new LockSessionID(null), "My session", 1000); var result = m_Server.ExecuteLockTransaction(session, tran); Aver.IsTrue(LockStatus.TransactionError == result.Status); Aver.IsTrue(LockErrorCause.Statement == result.ErrorCause); Aver.AreEqual("7:/AssertOp/", result.FailedStatement); }
public void JsonRoundTripWithSameName() { // Laconic: root{a{n=1}a{}a=3{n=2}} // JSON: {"root":{"a":[{"n":"1"},{},{"-section-value":"3","n":"2"}]}} var c1 = @"root { a{ n=1} a{ } a=3{ n=2} } //".AsLaconicConfig(handling: ConvertErrorHandling.Throw); var json = c1.ToJSONString(); Console.WriteLine(c1.ToLaconicString(Azos.CodeAnalysis.Laconfig.LaconfigWritingOptions.Compact)); Console.WriteLine(json); var c2 = json.AsJSONConfig(); Aver.IsTrue(ConfigNodeEqualityComparer.Instance.Equals(c1, c2)); }
public void Validate_PersonWithNesting_Error_ComplexFieldSubFieldRequired() { var person = new PersonWithNesting { ID = "POP1", FirstName = "Oleg", LastName = "Popov", DOB = new DateTime(1953, 12, 10), YearsInSpace = 45, Amount = 100, LatestHistory = new HistoryItem { ID = null, StartDate = DateTime.Now, Description = "Chaplin is here" }, History1 = new List <HistoryItem>(), History2 = new HistoryItem[2] }; var error = person.Validate(); Console.WriteLine(error); Aver.IsTrue(error is FieldValidationException); Aver.AreEqual("ID", ((FieldValidationException)error).FieldName); }
public void AngleToMapDirection() { Aver.IsTrue(Azos.Geometry.MapDirection.North == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.North))); Aver.IsTrue(Azos.Geometry.MapDirection.South == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.South))); Aver.IsTrue(Azos.Geometry.MapDirection.East == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.East))); Aver.IsTrue(Azos.Geometry.MapDirection.West == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.West))); Aver.IsTrue(Azos.Geometry.MapDirection.NorthEast == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.NorthEast))); Aver.IsTrue(Azos.Geometry.MapDirection.NorthWest == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.NorthWest))); Aver.IsTrue(Azos.Geometry.MapDirection.SouthEast == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.SouthEast))); Aver.IsTrue(Azos.Geometry.MapDirection.SouthWest == CartesianUtils.AngleToMapDirection(CartesianUtils.MapDirectionToAngle(Azos.Geometry.MapDirection.SouthWest))); }
public async Task ManyRowsInsertAndReadASYNC() { using (var ds = makeDataStore()) { var patients = new List <Patient>(); for (var i = 1; i < 2_000; i++) { var row = makePatient("Ivanov" + i); row.COUNTER = i; patients.Add(row); await ds.InsertAsync(row); } var qry = new Query <Patient>("CRUD.Queries.Patient.List") { new Query.Param("LN", "Ivanov%") }; var result = (await ds.LoadEnumerableAsync(qry)).OrderBy(p => p.COUNTER); Aver.IsTrue(patients.Select(p => p.Last_Name).SequenceEqual(result.Select(r => r.Last_Name))); } }
public void ManyRowsInsertAndRead() { using (var ds = makeDataStore()) { var patients = new List <Patient>(); for (var i = 0; i < 1000; i++) { var row = makeDefaultPatient("Ivanov" + i); patients.Add(row); ds.Insert(row); } ds.QueryResolver.ScriptAssembly = ASSEMBLY; var qry = new Query <Patient>("CRUD.Patient.List") { new Query.Param("LN", "Ivanov%") }; var result = ds.LoadEnumerable(qry).OrderBy(p => p.COUNTER); Aver.IsTrue(patients.Select(p => p.Last_Name).SequenceEqual(result.Select(r => r.Last_Name))); } }
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 LogChanges_Update() { var tbl = new Rowset(Schema.GetForTypedDoc(typeof(Person))); tbl.Insert(new Person { ID = "POP1", FirstName = "Oleg", LastName = "Popov", DOB = new DateTime(1953, 12, 10), YearsInSpace = 12 }); tbl.LogChanges = true; tbl.Update(tbl[0]); Aver.AreEqual(1, tbl.ChangeCount); Aver.IsTrue(DocChangeType.Update == tbl.GetChangeAt(0).Value.ChangeType); }
public void FromLong() { object obj = 123L; Aver.AreEqual(123, obj.AsShort()); Aver.AreEqual(123, obj.AsNullableShort()); Aver.AreEqual(123, obj.AsUShort()); Aver.AreEqual(123, obj.AsNullableUShort()); Aver.AreEqual(123, obj.AsInt()); Aver.AreEqual(123, obj.AsNullableInt()); Aver.AreEqual(123u, obj.AsUInt()); Aver.AreEqual(123, obj.AsNullableUInt()); Aver.AreEqual(123L, obj.AsLong()); Aver.AreEqual(123L, obj.AsNullableLong()); Aver.AreEqual(123UL, obj.AsULong()); Aver.AreEqual(123UL, obj.AsNullableULong()); Aver.AreEqual(123d, obj.AsDouble()); Aver.AreEqual(123d, obj.AsNullableDouble()); Aver.AreEqual(123f, obj.AsFloat()); Aver.AreEqual(123f, obj.AsNullableFloat()); Aver.AreEqual(123m, obj.AsDecimal()); Aver.AreEqual(123m, obj.AsNullableDecimal()); Aver.AreEqual(true, obj.AsBool()); Aver.AreEqual(true, obj.AsNullableBool()); Aver.AreEqual("123", obj.AsString()); Aver.AreEqual(123, obj.AsDateTime().Ticks); Aver.AreEqual(123, obj.AsTimeSpan().Ticks); Aver.IsTrue(TestEnum.B == obj.AsEnum(TestEnum.A)); }
public void T16() { var tran1 = new LockTransaction("Testing 101", "A", 0, 0.0d, LockOp.Assert(LockOp.SetVar("tblMany2", "Dima1", 12345, "Set Dima to 12345")) ); var tran2 = new LockTransaction("Testing 101", "A", 0, 0.0d, LockOp.Assert(LockOp.SetVar("tblMany2", "Dima1", 78901, "Set Dima to 78901", allowDuplicates: true)) //DUPLICATES ARE ALLOWED NOW ); var session1 = new Agni.Locking.Server.LockSessionData(new LockSessionID(null), "My session", 1000); var session2 = new Agni.Locking.Server.LockSessionData(new LockSessionID(null), "My session", 1000); var session3 = new Agni.Locking.Server.LockSessionData(new LockSessionID(null), "My session", 1000); var result = m_Server.ExecuteLockTransaction(session1, tran1); Aver.IsTrue(LockStatus.TransactionOK == result.Status); result = m_Server.ExecuteLockTransaction(session2, tran2); Aver.IsTrue(LockStatus.TransactionOK == result.Status); var read = new LockTransaction("Testing 101", "A", 0, 0.0d, LockOp.SelectVarValue("MY-RESULT", "tblMany2", "Dima1", selectMany: true) ); result = m_Server.ExecuteLockTransaction(session3, read); Aver.IsTrue(LockStatus.TransactionOK == result.Status); var svar = (Agni.Locking.Server.Variable[])result["MY-RESULT"]; Aver.AreEqual(2, svar.Length); Aver.AreEqual(12345, svar[0].Value.AsInt()); Aver.AreEqual("Set Dima to 12345", svar[0].Description); Aver.AreEqual(78901, svar[1].Value.AsInt()); Aver.AreEqual("Set Dima to 78901", svar[1].Description); }
public void AnalyzeUniqueness(int CNT) { var fnames = new List <string>(); var lnames = new List <string>(); var flnames = new List <string>(); var cities = new List <string>(); for (var i = 0; i < CNT; i++) { var fn = NaturalTextGenerator.GenerateFirstName(); fnames.Add(fn); var ln = NaturalTextGenerator.GenerateLastName(); lnames.Add(ln); flnames.Add(fn + " " + ln); cities.Add(NaturalTextGenerator.GenerateCityName()); } Console.WriteLine("Generated {0:n0} times", CNT); Console.WriteLine("----------------------------"); var dfn = fnames.Distinct().Count(); var pfn = 100d * (dfn / (double)CNT); Console.WriteLine(" First names {0:n0} unique {1:n3}%", dfn, pfn); var dln = lnames.Distinct().Count(); var pln = 100d * (dln / (double)CNT); Console.WriteLine(" Last names {0:n0} unique {1:n3}%", dln, pln); var dfln = flnames.Distinct().Count(); var pfln = 100d * (dfln / (double)CNT); Console.WriteLine(" First+Last names {0:n0} unique {1:n3}%", dfln, pfln); Aver.IsTrue(pfln > 85d);//85% uniqueness var dct = cities.Distinct().Count(); var pct = 100d * (dct / (double)CNT); Console.WriteLine(" Cities {0:n0} unique {1:n3}%", dct, pct); Console.WriteLine(); }
public void BoolField() { var row1 = new Doctor { First_Name = "Oleg", Last_Name = "Ivanov", DOB = new DateTime(1980, 8, 29), SSN = "172486", NPI = "5478", Amount = 10.23M, Is_Certified = true }; var row2 = new Doctor { First_Name = "Oleg", Last_Name = "Petrovich", DOB = new DateTime(1970, 3, 8), SSN = "293488", NPI = "5278", Amount = 10.23M, Is_Certified = false }; using (var ds = makeDataStore()) { ds.Insert(row1); ds.Insert(row2); ds.QueryResolver.ScriptAssembly = ASSEMBLY; var qry = new Query <Doctor>("CRUD.Doctor.List") { new Query.Param("pSSN", "%") }; var result = ds.LoadEnumerable(qry).OrderBy(p => p.COUNTER).ToArray(); Aver.AreEqual(2, result.Length); Aver.IsTrue(result[0].Is_Certified); Aver.IsFalse(result[1].Is_Certified); } }
public void Parallel_OneGdid() { var set = new HashSet <GDID>(); var sut = new LocalGdidGenerator(NOPApplication.Instance); const int CNT = 1_250_000; Parallel.For(0, CNT, new ParallelOptions(), () => new HashSet <GDID>(), (i, _, ls) => { var got = sut.GenerateOneGdid("a", "a"); Aver.IsTrue(ls.Add(got)); return(ls); }, ls => { lock (set) { ls.ForEach(e => Aver.IsTrue(set.Add(e))); } }); Aver.AreEqual(CNT, set.Count); sut = new LocalGdidGenerator(NOPApplication.Instance); Parallel.For(0, CNT, new ParallelOptions(), () => new HashSet <GDID>(), (i, _, ls) => { var got = sut.GenerateOneGdid("a", "a"); Aver.IsTrue(ls.Add(got)); return(ls); }, ls => { lock (set) { ls.ForEach(e => Aver.IsTrue(set.Add(e))); } }); Aver.AreEqual(CNT * 2, set.Count); }
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 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 GoogleDrive_CreateDirCreateFileDeleteDir() { using (CreateApplication()) { var fs = GetFileSystem(); using (var session = StartSession(fs)) { var dir = session[ROOT] as FileSystemDirectory; Aver.AreEqual(1, session.Items.Count());//checking item registation via .ctor/.dctor var dir2 = dir[DIR_1] as FileSystemDirectory; Aver.IsNull(dir2); Aver.AreEqual(1, session.Items.Count()); //checking item registation via .ctor/.dctor dir2 = dir.CreateDirectory(DIR_1); Aver.AreEqual(2, session.Items.Count()); //checking item registation via .ctor/.dctor Aver.IsTrue(session.Client.FolderExists(dir2.Path)); Aver.AreEqual(DIR_1, dir2.Name); var f = dir2.CreateFile(FILE1, 237); Aver.AreEqual(3, session.Items.Count());//checking item registation via .ctor/.dctor Aver.IsTrue(session.Client.FileExists(f.Path)); Aver.AreEqual(237UL, dir2.Size); Aver.IsTrue(dir.SubDirectoryNames.Contains(DIR_1)); Aver.IsTrue(dir2.FileNames.Contains(FILE1)); dir2.Delete(); Aver.AreEqual(2, session.Items.Count());//checking item registation via .ctor/.dctor Aver.IsFalse(session.Client.FolderExists(dir2.Path)); Aver.IsFalse(session.Client.FileExists(f.Path)); Aver.AreEqual(1, fs.Sessions.Count()); //checking item registation via .ctor/.dctor session.Dispose(); Aver.AreEqual(0, fs.Sessions.Count()); //checking item registation via .ctor/.dctor Aver.AreEqual(0, session.Items.Count()); //checking item registation via .ctor/.dctor } } }
public void SaveToCompactStringThenReadBack() { var conf = new LaconicConfiguration(); conf.Create("very-root"); conf.Root.AddChildNode("childSection1").AddAttributeNode("name", "Alex"); conf.Root.AddChildNode("child2").AddAttributeNode("name", "Boris"); conf.Root["child2"].Value = "Muxa"; var child3 = conf.Root.AddChildNode("child3"); child3.AddAttributeNode("atr with space", 1); child3.AddAttributeNode("atr2", "val with space"); child3.AddAttributeNode("atr{3}", null); child3.AddAttributeNode("atr=4", null); child3.AddAttributeNode("atr5", "this goes on \n\r new\\next line"); child3.AddChildNode("child3.1"); child3.AddChildNode("child3.2").AddChildNode("child3.2.1"); child3.AddChildNode("child3.3"); var txt = conf.SaveToString(LaconfigWritingOptions.Compact); Console.WriteLine(txt); var conf2 = LaconicConfiguration.CreateFromString(txt); Aver.IsTrue(conf2.Root["childSection1"].Exists); Aver.IsTrue(conf2.Root["child3"].AttrByName("atr with space").Exists); Aver.IsTrue(conf2.Root.Navigate("childSection1/$name").Exists); Aver.IsTrue(conf2.Root.Navigate("child2/$name").Exists); Aver.IsTrue(conf2.Root.Navigate("child3/$atr{3}").Exists); Aver.IsTrue(conf2.Root.Navigate("child3/child3.2/child3.2.1").Exists); Aver.AreEqual("Muxa", conf2.Root.Navigate("child2").Value); Aver.AreEqual("1", conf2.Root.Navigate("child3/$atr with space").Value); Aver.AreEqual("val with space", conf2.Root.Navigate("child3/$atr2").Value); Aver.IsTrue(conf2.Root.Navigate("child3/$atr=4").Value.IsNullOrWhiteSpace()); }
public void TestGeoStrategy_Proximity() { using (var app = new AzosApplication(null, BASE_CONF)) { //Get the binder which will make and bind strategy instances for the requested contract and context data var binder = app.ModuleRoot.Get <IStrategyBinder>(); //The first case runs in the context of Cleveland, OHIO customers var ctx = new GeoProximityContext { Location = new LatLng("41.500136,-81.7005492", "Cleveland") }; var got = binder.Bind <IGeoStrat, IGeoStratContext>(ctx); //We get NY strategy implementation, because NY is closer to Cleveland than others (in California) Aver.IsTrue(got is NewYorkStrat); Aver.AreEqual("New York customers in Cleveland", got.RunStrategyWork()); //Now try Washington DC ctx.Location = new LatLng("38.9079407,-77.0355777", "Washington"); got = binder.Bind <IGeoStrat, IGeoStratContext>(ctx); //Still get NY, because it is closer Aver.IsTrue(got is NewYorkStrat); Aver.AreEqual("New York customers in Washington", got.RunStrategyWork()); //Now Sacramento which is closer to SF than LA ctx.Location = new LatLng("38.5755851,-121.4925168", "Sacramento"); got = binder.Bind <IGeoStrat, IGeoStratContext>(ctx); //And we do get San Francisco Aver.IsTrue(got is SanFranciscoStrat); Aver.AreEqual("San Francisco California customers in Sacramento", got.RunStrategyWork()); //Now Sand Diego ctx.Location = new LatLng("32.729915,-117.1577203", "San Diego"); got = binder.Bind <IGeoStrat, IGeoStratContext>(ctx); //Which is closer to LA Aver.IsTrue(got is LosAngelesStrat); Aver.AreEqual("LA California customers in San Diego", got.RunStrategyWork()); } }
public void ConfigAttributeApplyToExtendedClassWithRootOverride() { var conf = Azos.Conf.XMLConfiguration.CreateFromXML(xml); var cl = new MyClassExtended2(); ConfigAttribute.Apply(cl, conf.Root); Aver.AreEqual("protected", cl.getProtectedName()); Aver.AreEqual("public", cl.m_PublicName); Aver.AreEqual(199, cl.Age); Aver.IsTrue(MyEnum.C == cl.MyEnumField); Aver.AreEqual(1, cl.When.Month); Aver.AreEqual(1, cl.When.Day); Aver.AreEqual(1944, cl.When.Year); Aver.AreEqual(false, cl.Fuzzy.Value); Aver.AreEqual(false, cl.Jazzy.HasValue); }
public void Recursive4StackCleanup_Parallel() { var conf = Azos.Conf.LaconicConfiguration.CreateFromString(src1); System.Threading.Tasks.Parallel.For(0, 100000, (_) => { var attr = conf.Root["MyClass"]["data"]["extra"].AttrByName("cycle"); try { var v2 = attr.Value;//exception } catch (Exception error) { Aver.IsTrue(error.Message.Contains("recursive vars")); } //after exception, stack should cleanup and work again as expected Aver.AreEqual("val1", conf.Root["vars"]["var1"].Value); }); }
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 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 CaseInsensitiv() { var reg = new Registry <NamedClazz>();//INSENSITIVE Aver.IsTrue(reg.Register(new NamedClazz("Apple", 1))); Aver.IsTrue(reg.Register(new NamedClazz("Banana", 2))); Aver.IsFalse(reg.Register(new NamedClazz("APPLE", 3))); Aver.AreEqual(2, reg.Count); Aver.AreEqual(1, reg["Apple"].Data); Aver.AreEqual(2, reg["Banana"].Data); Aver.AreEqual(1, reg["APPLE"].Data); Aver.IsFalse(reg.Unregister(new NamedClazz("I was never added before", 1))); Aver.AreEqual(2, reg.Count); Aver.IsTrue(reg.Unregister(new NamedClazz("ApPle", 1))); Aver.AreEqual(1, reg.Count); Aver.AreObjectsEqual(null, reg["Apple"]); Aver.AreEqual(2, reg["Banana"].Data); }
public void Registry() { var reg = new Registry <NamedClazz>(); Aver.IsTrue(reg.Register(new NamedClazz("Apple", 1))); Aver.IsTrue(reg.Register(new NamedClazz("Banana", 2))); Aver.IsFalse(reg.Register(new NamedClazz("Apple", 3))); Aver.AreEqual(2, reg.Count); Aver.AreEqual(1, reg["Apple"].Data); Aver.AreEqual(2, reg["Banana"].Data); Aver.AreObjectsEqual(null, reg["Grapes"]); Aver.IsFalse(reg.Unregister(new NamedClazz("I was never added before", 1))); Aver.AreEqual(2, reg.Count); Aver.IsTrue(reg.Unregister(new NamedClazz("Apple", 1))); Aver.AreEqual(1, reg.Count); Aver.AreObjectsEqual(null, reg["Apple"]); Aver.AreEqual(2, reg["Banana"].Data); }
public void TwoGDIDLongWithISOKey_CreateEquate_1() { var k1 = new TwoGDIDLongWithISOKey(new GDID(10, 20), new GDID(10, 30), 123, "eng"); var k2 = new TwoGDIDLongWithISOKey(new GDID(10, 20), new GDID(10, 30), 123, "eNG"); Aver.AreEqual("ENG", k1.ISOCode); Aver.AreEqual("ENG", k2.ISOCode); Aver.AreEqual(123, k1.PAYLOAD); Aver.AreEqual(123, k2.PAYLOAD); Aver.AreEqual(k1, k2); Aver.IsTrue(k1.Equals(k2)); var o = k2; Aver.IsTrue(k1.Equals(o)); Aver.AreEqual(k1.GetHashCode(), k2.GetHashCode()); Aver.AreEqual(k1.GetDistributedStableHash(), k2.GetDistributedStableHash()); Console.WriteLine(k1.ToString()); }