public void TestMethod2() { var tt = new SimpleTranslationTable(); tt["key"]="value"; var ro = new ReadonlySimpleTranslationTable(tt); Assert.IsTrue("value"==ro["key"]); Assert.IsTrue("blah"==ro["blah"]); tt["key"]="xyz"; Assert.IsTrue(ro["key"]=="xyz"); ro["x"]="y"; /* throws */ Assert.Fail(); }
public void TestMethod1() { var tt = new SimpleTranslationTable(); tt["key"]="value"; Assert.IsTrue(tt["key"]=="value"); tt["key"]="xxx"; Assert.IsTrue(tt["key"]=="xxx"); tt["key"]=null; Assert.IsTrue(tt["key"]=="key"); }
public void testA() { var tt = new SimpleTranslationTable() .A("key", "value") ; Assert.IsTrue("value" == tt["key"]); var ro = new ReadonlySimpleTranslationTable<string>(tt); Assert.IsTrue("value" == ro["key"]); ro.A("x", "y"); // throws Assert.Fail(); }
public void Test3() { var sd = new Dictionary<string, string>(); var tt = new SimpleTranslationTable<string>(sd); var ro = new ReadonlySimpleTranslationTable<string>(tt); sd.Add("key", "value"); tt .Add("key2", "value2") .Add("key3", "value3") ; Assert.IsTrue(sd["key3"]=="value3"); Assert.IsTrue(ro["key3"]=="value3"); Assert.IsTrue(tt["key3"]=="value3"); Assert.IsTrue(sd["key"]=="value"); Assert.IsTrue(ro["key"]=="value"); Assert.IsTrue(tt["key"]=="value"); var rod = ro.ToDictionary(); var rox = new SimpleTranslationTable<string>(rod); rod.Add("blah", "blx"); Assert.IsTrue(ro["blah", null]==null); Assert.IsTrue(rox["blah", null]=="blx"); }
public void threads(int iterations) { var tt = new SimpleTranslationTable<myClass>(); var ro = new ReadonlySimpleTranslationTable<myClass>(tt); Parallel.For(1, iterations, (i) => { tt[new myClass { age=i }]=new myClass { age=i*2 }; }); Assert.IsTrue(tt.ToDictionary().Count() == iterations-1); Parallel.For(1, iterations, (i) => { Assert.IsTrue(ro[new myClass { age=i }] == new myClass { age=i*2 }); Assert.IsFalse(ro[new myClass { age=i }] != new myClass { age=i*2 }); }); }
public void complexType() { var tt = new SimpleTranslationTable<myClass>(); var ro = new ReadonlySimpleTranslationTable<myClass>(tt); tt.Add( new myClass{ name="left", age=1 }, new myClass{ name="right", age=2 } ).Add( new myClass(), new myClass{ name="noname", age=-1 } ); var r = tt[new myClass { name="left", age=1 }]; int i = new myClass { name="right", age=2 }; Assert.IsTrue(r == "right, 2"); Assert.IsTrue(r == i); var u = tt[new myClass()]; i=new myClass { name="noname", age=-1 }; Assert.IsTrue("noname, -1" == u); Assert.IsTrue(u == i); }
public void complexTypeA() { var tt = new SimpleTranslationTable<myClass>() .A(new myClass { name="key1", age=1 }, new myClass { name="value1", age=1 }) .A(new myClass { name="key1", age=1 }, new myClass { name="value1", age=1 }) .A(new myClass { name="key1", age=1 }, new myClass { name="value1", age=1 }) .A(new myClass { name="key1", age=1 }, new myClass { name="value1", age=1 }) .A(new myClass { name="key1", age=1 }, new myClass { name="value1", age=7 }) ; Assert.IsTrue(tt[new myClass { name="key1", age=1 }] == new myClass { name="value1", age=7 }); Assert.IsTrue(tt[new myClass { name="key1", age=1 }] == "value1, 7"); Assert.IsTrue(tt.ToDictionary().Count == 1); tt.ToDictionary().Add(new myClass { name="key2", age=2 }, new myClass { name="key2", age=2 }); Assert.IsTrue(tt[new myClass { name="key2", age=2 }] == "key2, 2"); var ro = new ReadonlySimpleTranslationTable<myClass>(tt); ro.ToDictionary().Add(new myClass { name="key3", age=3 }, new myClass { name="value3", age=3 }); Assert.IsTrue(ro[new myClass { name="key3", age=3 }] == "key3, 3"); }