Inheritance: INotifyPropertyChanged
 public void Should_be_able_to_add_and_replace_for_dictionary(ClassWithFields models, Customer myclass, int key, Customer replacement)
 {
     var newModels = models.With(o => o.MyDictionary.Add(key, myclass));
     Assert.Equal(myclass, newModels.MyDictionary[key]);
     var newNewModels = models.With(o => o.MyDictionary.Replace(key, replacement));
     Assert.Equal(replacement, newNewModels.MyDictionary[key]);
 }
Esempio n. 2
0
        public static void TypeWithFieldWorks()
        {
            var    c     = new ClassWithFields();
            string json  = Json.Serialize(c);
            var    jsonC = Json.Deserialize <ClassWithFieldsAndNoInit>(json);

            Assert.AreEqual(c.byteArrayField, jsonC.byteArrayField, "#1");
            Assert.AreEqual(c.guidField.ToByteArray(), jsonC.guidField.ToByteArray(), "#2");
            Assert.AreEqual(c.typeField, jsonC.typeField, "#3");
            Assert.AreEqual(c.charField, jsonC.charField, "#4");
            Assert.AreEqual(c.longField.ToString(), jsonC.longField.ToString(), "#5");
            Assert.AreEqual(c.ulongField.ToString(), jsonC.ulongField.ToString(), "#6");
            Assert.AreEqual(c.decimalField.ToString(), jsonC.decimalField.ToString(), "#7");
            Assert.AreEqual(c.dateField.ToString(), jsonC.dateField.ToString(), "#8");
            Assert.AreEqual(c.enumField, jsonC.enumField, "#9");
            Assert.AreEqual(c.arrayField, jsonC.arrayField, "#10");
            Assert.AreEqual(c.listField.Count, jsonC.listField.Count, "#11");
            Assert.AreEqual(c.listField[0], jsonC.listField[0], "#12");
            Assert.AreEqual(c.listField[1], jsonC.listField[1], "#13");
            Assert.AreEqual(c.listField[2], jsonC.listField[2], "#14");
            Assert.AreEqual(c.dictField.Count, jsonC.dictField.Count, "#15");
            Assert.AreEqual(c.dictField["i1"], jsonC.dictField["i1"], "#16");
            Assert.AreEqual(c.dictField["i2"], jsonC.dictField["i2"], "#17");
            Assert.AreEqual(c.dictField["i3"], jsonC.dictField["i3"], "#18");
        }
		public void DeepClone_ClassWithFields(TypeModel model)
		{
			var classWithFields =
				new ClassWithFields(
					12,
					"lalala",
					new Guid("e0947b41-437a-4bda-8a47-16451417f307"),
					new ItemClass() { Message = "hello" },
					new List<int>() { 23, 45 },
					EnumTest.Item2,
					0.00000m,
					1.2345678m);

			var clone = (ClassWithFields)model.DeepClone(classWithFields);

			Assert.AreEqual(classWithFields.Guid, clone.Guid);
			Assert.AreEqual(classWithFields.Integer, clone.Integer);
			Assert.AreEqual(classWithFields.ItemClass.Message, clone.ItemClass.Message);
			Assert.AreEqual(classWithFields.List.Count, clone.List.Count);
			Assert.AreEqual(classWithFields.List[0], clone.List[0]);
			Assert.AreEqual(classWithFields.List[1], clone.List[1]);
			Assert.AreEqual(classWithFields.S, clone.S);
			Assert.AreEqual(classWithFields.EnumTest, clone.EnumTest);
			Assert.AreEqual(classWithFields._dec1, clone._dec1);
			Assert.AreEqual(classWithFields._dec2, clone._dec2);
		}
 public void Should_be_able_to_add_and_remove_from_dictionary(ClassWithFields models, Customer myclass, int key)
 {
     var newModels = models.With(o => o.MyDictionary.Add(key, myclass));
     Assert.Equal(myclass, newModels.MyDictionary[key]);
     var newNewModels = models.With(o => o.MyDictionary.Remove(key));
     Assert.False(newNewModels.MyDictionary.ContainsKey(key));
 }
        public static void TypeWithFieldWorks()
        {
            var     c   = new ClassWithFields();
            dynamic raw = null;

            //@ raw = Newtonsoft.Json.JsonConvert.SerializeObject(c, 0, {}, true);

            Assert.AreEqual(System.Convert.ToBase64String(c.byteArrayField), raw.byteArrayField, "#1");
            Assert.AreEqual(c.guidField.ToString(), raw.guidField, "#2");
            Assert.AreEqual(typeof(SerializationTests).FullName, raw.typeField, "#3");
            Assert.AreEqual("a", raw.charField, "#4");
            Assert.AreEqual(0, raw.longField, "#5");
            Assert.AreEqual(0, raw.ulongField, "#6");
            Assert.AreEqual(0, raw.decimalField, "#7");
            Assert.NotNull(raw.dateField, "#8");

            dynamic rawDateField = null;

            //@ rawDateField = System.DateTime.format(c.dateField, "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'FFFFFFFK");
            Assert.AreEqual(rawDateField, raw.dateField, "#9 " + raw.dateField);
            Assert.AreEqual(0, raw.enumField, "#10");
            Assert.AreEqual(new int[] { 1, 2, 3 }, raw.arrayField, "#11");
            Assert.AreEqual(new int[] { 0, 1, 2 }, raw.listField, "#12");
            Assert.AreDeepEqual(Script.ToPlainObject(new { i1 = 0, i2 = 1, i3 = 2 }), raw.dictField, "#13");
        }
Esempio n. 6
0
        public void CanReadObjectWithFields()
        {
            var withFields = new ClassWithFields("Private", "Protected", "PublicReadonly", "Public");
            var read       = _reader.Read(withFields);

            Assert.Equal(2, read.Properties.Count);
        }
Esempio n. 7
0
 public void DoNotFailOnStringFields()
 {
     using (var db = NewTestInstance())
     {
         var withStringField = new ClassWithFields {aField = "testData"};
         db.Store(withStringField);
     }
 }
Esempio n. 8
0
        public void Should_be_able_to_add_and_replace_for_dictionary(ClassWithFields models, Customer myclass, int key, Customer replacement)
        {
            var newModels = models.With(o => o.MyDictionary.Add(key, myclass));

            Assert.Equal(myclass, newModels.MyDictionary[key]);
            var newNewModels = models.With(o => o.MyDictionary.Replace(key, replacement));

            Assert.Equal(replacement, newNewModels.MyDictionary[key]);
        }
Esempio n. 9
0
        public void Should_be_able_to_add_and_remove_from_dictionary(ClassWithFields models, Customer myclass, int key)
        {
            var newModels = models.With(o => o.MyDictionary.Add(key, myclass));

            Assert.Equal(myclass, newModels.MyDictionary[key]);
            var newNewModels = models.With(o => o.MyDictionary.Remove(key));

            Assert.False(newNewModels.MyDictionary.ContainsKey(key));
        }
Esempio n. 10
0
 public void DoNotFailOnStringFields()
 {
     using (var db = NewTestInstance())
     {
         var withStringField = new ClassWithFields {
             aField = "testData"
         };
         db.Store(withStringField);
     }
 }
Esempio n. 11
0
        public void ConcreteClassWithFields()
        {
            var data = new ClassWithFields
            {
                Name       = "Chris",
                Value      = "10000",
                TaxedValue = "6000",
                Currency   = "dollars",
                InCa       = "InCa"
            };

            Render(data);
        }
Esempio n. 12
0
        public void PrintClassWithPublicFields()
        {
            // Arrange
            MockObjectVisitor visitor = CreateObjectVisitor();
            ClassWithFields   value   = new ClassWithFields();

            value.Foo = "John";
            value.Bar = 1;

            // Actt
            visitor.Print(value);

            // Assert
            Assert.True(visitor.Members.Contains("string Foo = John"));
            Assert.True(visitor.Members.Contains("int Bar = 1"));
        }
Esempio n. 13
0
        public static void TypeWithFieldWorks()
        {
            var     c   = new ClassWithFields();
            dynamic raw = JSON.Plain(c);

            Assert.AreEqual(System.Convert.ToBase64String(c.byteArrayField), raw.byteArrayField, "#1");
            Assert.AreEqual(c.guidField.ToString(), raw.guidField, "#2");
            Assert.AreEqual(typeof(SerializationTests).FullName, raw.typeField, "#3");
            Assert.AreEqual("a", raw.charField, "#4");
            Assert.AreEqual(0, raw.longField, "#5");
            Assert.AreEqual(0, raw.ulongField, "#6");
            Assert.AreEqual(0, raw.decimalField, "#7");
            Assert.NotNull(raw.dateField, "#8");
            Assert.AreEqual(((dynamic)c.dateField).toJSON(), raw.dateField, "#9 " + raw.dateField);
            Assert.AreEqual("Item1", raw.enumField, "#10");
            Assert.AreEqual(new int[] { 1, 2, 3 }, raw.arrayField, "#11");
            Assert.AreEqual(new string[] { "Item1", "Item2", "Item3" }, raw.listField, "#12");
            Assert.AreDeepEqual(Script.ToPlainObject(new { i1 = "Item1", i2 = "Item2", i3 = "Item3" }), raw.dictField, "#12");
        }
Esempio n. 14
0
        public void PrintClassWithPublicFields()
        {
            // Arrange
            MockObjectVisitor visitor = CreateObjectVisitor();
            ClassWithFields value = new ClassWithFields();
            value.Foo = "John";
            value.Bar = 1;

            // Actt
            visitor.Print(value);

            // Assert            
            Assert.True(visitor.Members.Contains("string Foo = John"));
            Assert.True(visitor.Members.Contains("int Bar = 1"));
        }