public void ErlParserTest() { var tests = new Dictionary <string, IErlObject> { { "<<1,2,3>>", new ErlBinary(new byte[] { 1, 2, 3 }) }, { "<<>>", new ErlBinary(new byte[] {}) }, { "<<\"abc\">>", new ErlBinary(new byte[] { (byte)'a', (byte)'b', (byte)'c' }) }, { "<<\"\">>", new ErlBinary(new byte[] {}) }, }; foreach (var t in tests) { try { ErlObject.Parse(t.Key, t.Value); Aver.Pass(); } catch (Exception) { Aver.Fail("Error parsing: {0} (test: {1})".Args(t.Key, t.ToString())); } var res = ErlObject.Parse(t.Key, t.Value); Aver.AreEqual(t.Value, res, "Unexpected value: {0} (expected: {1})".Args(res, t.Value)); } }
public void ErlParserMFATest() { var tests = new Dictionary <string, Tuple <string, string, ErlList, object[]> > { { "a:b()", Tuple.Create("a", "b", new ErlList(), (object[])null) }, { "a:b().", Tuple.Create("a", "b", new ErlList(), (object[])null) }, { "a:b()\t .", Tuple.Create("a", "b", new ErlList(), (object[])null) }, { "a:b() ", Tuple.Create("a", "b", new ErlList(), (object[])null) }, { "a:b()\n.", Tuple.Create("a", "b", new ErlList(), (object[])null) }, { "a:b(%comment\n).", Tuple.Create("a", "b", new ErlList(), (object[])null) }, { "a:b().%comment", Tuple.Create("a", "b", new ErlList(), (object[])null) }, { "a:b()\t", Tuple.Create("a", "b", new ErlList(), (object[])null) }, { "a:b(10)", Tuple.Create("a", "b", new ErlList(10), (object[])null) }, { "a:b(10).", Tuple.Create("a", "b", new ErlList(10), (object[])null) }, { "aa:bb(10)", Tuple.Create("aa", "bb", new ErlList(10), (object[])null) }, { "a:b(10,20)", Tuple.Create("a", "b", new ErlList(10, 20), (object[])null) }, { "a:b(~w)", Tuple.Create("a", "b", new ErlList(10), new object[] { 10 }) }, { "a:b(~w).", Tuple.Create("a", "b", new ErlList(10), new object[] { 10 }) }, { "a:b(~f,~d).", Tuple.Create("a", "b", new ErlList(10d, 20), new object[] { 10d, 20 }) }, { "a:b([~w,~w],30)", Tuple.Create("a", "b", new ErlList(new ErlList(10, 20), 30), new object[] { 10, 20 }) }, { "a:b([~w,~w],~w)", Tuple.Create("a", "b", new ErlList(new ErlList(10, 20), 30), new object[] { 10, 20, 30 }) }, }; foreach (var t in tests) { try { ErlObject.ParseMFA(t.Key, t.Value.Item4); Aver.Pass(); } catch (Exception) { Aver.Fail("Error parsing: {0} (test: {1})".Args(t.Key, t.ToString())); } var res = ErlObject.ParseMFA(t.Key, t.Value.Item4); Aver.AreEqual(t.Value.Item1, res.Item1.Value, "Unexpected module value: {0} (expected: {1})".Args( res.Item1.Value, t.Value.Item1)); Aver.AreEqual(t.Value.Item2, res.Item2.Value, "Unexpected function value: {0} (expected: {1})".Args( res.Item2.Value, t.Value.Item2)); Aver.AreObjectsEqual(t.Value.Item3, res.Item3, "Unexpected args value: {0} (expected: {1})".Args(res.Item3, t.Value.Item3)); } }
private void doesNotThrow(Action a) { try { a(); Aver.Pass(); } catch (Exception error) { Aver.Fail("Exception {0} was thrown: {1}".Args(error.GetType().ToString(), error.Message)); } }
public void OrderedRegistry_Parallel() { var reg = new OrderedRegistry <OrderedClazz>(); var CNT = 250000; Parallel.For(0, CNT, (i) => { reg.Register(new OrderedClazz("Name_{0}".Args(i % 128), i % 789, i)); var item = reg["Name_{0}".Args(i % 128)];//it may be null reg.Unregister("Name_{0}".Args((i - 2) % 128)); }); Aver.Pass("No exceptions thrown during multithreaded parallel work"); }
public void AsJSONConfig() { Aver.AreEqual(23, "{value: 23}".AsJSONConfig().AttrByName("value").ValueAsInt()); Aver.AreEqual(223, "{nfx: {value: 223}}".AsJSONConfig().AttrByName("value").ValueAsInt()); Aver.IsNull("{ bad }".AsJSONConfig()); try { "bad".AsJSONConfig(handling: ConvertErrorHandling.Throw); Aver.Fail("No exception"); } catch (Exception e) when(!(e is AvermentException)) { Aver.Pass("Got exception as expected"); } }
public void AsLaconicConfig() { Aver.AreEqual(23, "value=23".AsLaconicConfig().AttrByName("value").ValueAsInt()); Aver.AreEqual(223, "nfx{value=223}".AsLaconicConfig().AttrByName("value").ValueAsInt()); Aver.IsNull("nfx{value 223}".AsLaconicConfig()); try { "nfx".AsLaconicConfig(handling: ConvertErrorHandling.Throw); Aver.Fail("No exception"); } catch (Exception e) when(!(e is AvermentException)) { Aver.Pass("Got exception as expected"); } }
public void GDID() { object obj = new GDID(3, 4, 5); Aver.AreObjectsEqual(obj, obj.AsGDID()); Aver.AreObjectsEqual(obj, obj.AsGDID(new GDID(2, 3, 4))); Aver.AreObjectsEqual(obj, "3:4:5".AsGDID(new GDID(2, 3, 4))); Aver.AreEqual(new GDID(2, 3, 4), "3rewtfef:4:5".AsGDID(new GDID(2, 3, 4))); try { "3rewtfef:4:5".AsGDID(new GDID(2, 3, 4), handling: ConvertErrorHandling.Throw); Aver.Fail("No execpetion"); } catch { Aver.Pass(""); } }
public void GDID() { object obj = new GDID(3, 4, 5); Aver.AreObjectsEqual(obj, obj.AsGDID()); Aver.AreObjectsEqual(obj, obj.AsGDID(new GDID(2, 3, 4))); Aver.AreObjectsEqual(obj, "3:4:5".AsGDID(new GDID(2, 3, 4))); Aver.AreEqual(new GDID(2, 3, 4), "3rewtfef:4:5".AsGDID(new GDID(2, 3, 4))); try { "3rewtfef:4:5".AsGDID(new GDID(2, 3, 4), handling: ConvertErrorHandling.Throw); Aver.Fail(Constants.ERR_NOT_THROWN); } catch { Aver.Pass(""); } }
public void GDIDSymbol() { object obj = new GDIDSymbol(new GDID(3, 4, 5), "ABC"); Aver.AreObjectsEqual(obj, obj.AsGDIDSymbol()); Aver.AreObjectsEqual(obj, obj.AsGDIDSymbol(new GDIDSymbol(new GDID(23, 14, 15), "ABC"))); var link = new ELink(new GDID(4, 12, 8721)); Aver.AreEqual(link.AsGDIDSymbol, link.Link.AsGDIDSymbol()); Aver.AreEqual(link.AsGDIDSymbol, "3rewtfef:4:5".AsGDIDSymbol(link.AsGDIDSymbol())); try { "3rewtfef:4:5".AsGDIDSymbol(link.AsGDIDSymbol, handling: ConvertErrorHandling.Throw); Aver.Fail("No excepetion"); } catch { Aver.Pass(); } }
//[Run("category", "name", -1, "")] public void Empty() { Aver.Pass(); }