Пример #1
0
        public void ListContains_PropertySet_Failure_Closestmatch()
        {
            var expected = new SimpleTestObject
            {
                Id        = 5,
                FirstName = "John",
                LastName  = "Doe"
            };
            var actual1 = new SimpleTestObject
            {
                Id        = 5,
                FirstName = "John",
                LastName  = "Foo"
            };
            var actual2 = new SimpleTestObject
            {
                Id        = 5,
                FirstName = "Arabella",
                LastName  = "Monte"
            };
            List <SimpleTestObject> list = new List <SimpleTestObject>();

            list.Add(actual1);
            list.Add(actual2);
            Assert.That(list, Entity.List.Contains(expected, OnListContainsFailure.DisplayClosestMatch), "List");
        }
Пример #2
0
        public void DoubleNotSpecificationTrueTest(string name)
        {
            var spec1 = new SpecificationBase <SimpleTestObject>(t => t.Name == name);

            var spec = !!spec1;

            Assert.True(spec.IsSatisfiedBy(SimpleTestObject.Create_For_Test_Where_Count_Is_Five_And_Name_Is_Name()));
        }
Пример #3
0
        public void testFields4UserGuide()
        {
            Json2Object      j2O    = new Json2Object();
            string           json   = "{@class:com.houseelectrics.serializer.test.TestFromJson+SimpleTestObject stringFieldA:\"abcd\"  intFieldC:9876 }";
            SimpleTestObject result = (SimpleTestObject)j2O.toObject(json);

            Assert.AreEqual(result.stringFieldA, "abcd", "matching string value");
            Assert.AreEqual(result.intFieldC, 9876, "matching int value");
        }
Пример #4
0
        public void testFields4UserGuideTypeHint()
        {
            Json2Object      j2O    = new Json2Object();
            string           json   = "{stringFieldA:\"abcd\"  intFieldC:9876 }";
            SimpleTestObject result = (SimpleTestObject)j2O.toObject(json, typeof(SimpleTestObject));

            Assert.AreEqual(result.stringFieldA, "abcd", "matching string value");
            Assert.AreEqual(result.intFieldC, 9876, "matching int value");
        }
Пример #5
0
        public void SpecificationOrSpecificationFalseTest(string name, int count)
        {
            var spec1 = new SpecificationBase <SimpleTestObject>(t => t.Name == name);
            var spec2 = new SpecificationBase <SimpleTestObject>(t => t.Count == count);

            var spec = spec1 | spec2;

            Assert.False(spec.IsSatisfiedBy(SimpleTestObject.Create_For_Test_Where_Count_Is_Five_And_Name_Is_Name()));
            Assert.False(spec.Or(spec2).IsSatisfiedBy(SimpleTestObject.Create_For_Test_Where_Count_Is_Five_And_Name_Is_Name()));
        }
Пример #6
0
        public void NotSpecificationTest(string name)
        {
            var trueSpec = new SpecificationBase <SimpleTestObject>(t => t.Name == name);

            var falseSpec = !trueSpec;

            Assert.True(trueSpec.IsSatisfiedBy(SimpleTestObject.Create_For_Test_Where_Count_Is_Five_And_Name_Is_Name()));
            Assert.False(falseSpec.IsSatisfiedBy(SimpleTestObject.Create_For_Test_Where_Count_Is_Five_And_Name_Is_Name()));

            Assert.True(trueSpec.IsSatisfiedBy(SimpleTestObject.Create_For_Test_Where_Count_Is_Five_And_Name_Is_Name()));
            Assert.False(trueSpec.Not().IsSatisfiedBy(SimpleTestObject.Create_For_Test_Where_Count_Is_Five_And_Name_Is_Name()));
        }
Пример #7
0
        public void DependencyOverrideOccursEverywhereTypeMatches()
        {
            var container = new UnityContainer()
                            .RegisterType <ObjectThatDependsOnSimpleObject>(new InjectionProperty("OtherTestObject"))
                            .RegisterType <SimpleTestObject>(new InjectionConstructor());

            var overrideValue = new SimpleTestObject(15); // arbitrary value

            var result = container.Resolve <ObjectThatDependsOnSimpleObject>(
                new DependencyOverride <SimpleTestObject>(overrideValue));

            Assert.AreSame(overrideValue, result.TestObject);
            Assert.AreSame(overrideValue, result.OtherTestObject);
        }
        public void SingleSpecificationWorked()
        {
            string s    = "Name";
            var    spec = new SpecificationBase <SimpleTestObject>(t => t.Name == s);

            using (var db = EfFactory.CreateTestContext())
            {
                var test         = db.SetOfTestObjects.Where(spec).Single();
                var testExpected = SimpleTestObject.Create_For_Test_Where_Count_Is_Five_And_Name_Is_Name();

                Assert.Equal(testExpected.Name, test.Name);
                Assert.Equal(testExpected.Count, test.Count);
            }
        }
Пример #9
0
        public void CanDeserializeStringWithExtraProperties()
        {
            var obj         = new SimpleTestObject();
            var str         = "{\"Extra\":12}";
            var strWithType = "{\"$type\":\"SFJsonTests.SimpleTestObject, SFJsonTests\",\"Extra\":12}";

            var strDeserialized = _deserializer.Deserialize <SimpleTestObject>(str);

            Assert.NotNull(strDeserialized);
            Assert.IsInstanceOf <SimpleTestObject>(strDeserialized);

            var strWithTypeDeserialized = _deserializer.Deserialize <SimpleTestObject>(strWithType);

            Assert.IsInstanceOf <SimpleTestObject>(strWithTypeDeserialized);
            Assert.NotNull(strWithTypeDeserialized);
        }
Пример #10
0
        public void CanDeserializeOnToInstance()
        {
            var obj         = new SimpleTestObject();
            var str         = "{\"Extra\":12}";
            var strWithType = "{\"$type\":\"SFJsonTests.SimpleTestObject, SFJsonTests\",\"Extra\":12}";

            var strDeserialized = _deserializer.Deserialize <SimpleTestObject>(obj, str);

            Assert.NotNull(strDeserialized);
            Assert.IsInstanceOf <SimpleTestObject>(strDeserialized);
            Assert.AreSame(obj, strDeserialized);

            var strWithTypeDeserialized = _deserializer.Deserialize <SimpleTestObject>(obj, strWithType);

            Assert.IsInstanceOf <SimpleTestObject>(strWithTypeDeserialized);
            Assert.NotNull(strWithTypeDeserialized);
            Assert.AreSame(obj, strWithTypeDeserialized);
        }
Пример #11
0
    public void DictionaryReferencesTest()
    {
        //arrange
        SimpleTestObject first  = new SimpleTestObject("first");
        SimpleTestObject second = new SimpleTestObject("second");
        Dictionary <string, SimpleTestObject> dictionary = new Dictionary <string, SimpleTestObject>();

        dictionary.Add("key1", first);
        dictionary.Add("key2", second);
        dictionary.Add("key3", first);

        //act
        saveFile.Set("dictionary", dictionary);
        Dictionary <string, SimpleTestObject> deserialized = saveFile.Get <Dictionary <string, SimpleTestObject> >("dictionary");

        //assert
        Assert.IsTrue(Object.ReferenceEquals(deserialized["key1"], deserialized["key3"]));
        Assert.IsTrue(deserialized["key1"].getPrivateString() == "first");
        Assert.IsTrue(deserialized["key2"].getPrivateString() == "second");
    }
Пример #12
0
    public void ListReferencesTest()
    {
        //arrange
        SimpleTestObject         first  = new SimpleTestObject("first");
        SimpleTestObject         second = new SimpleTestObject("second");
        IList <SimpleTestObject> list   = new List <SimpleTestObject>();

        list.Add(first);
        list.Add(second);
        list.Add(first);

        //act
        saveFile.Set("list", list);
        IList <SimpleTestObject> deserialized = saveFile.Get <List <SimpleTestObject> >("list");

        //assert
        Assert.IsTrue(Object.ReferenceEquals(deserialized[0], deserialized[2]));
        Assert.IsTrue(deserialized[0].getPrivateString() == "first");
        Assert.IsTrue(deserialized[1].getPrivateString() == "second");
    }
Пример #13
0
        public void testNotifications()
        {
            SimpleTestObject sto = new SimpleTestObject();

            sto.stringFieldA = "AA";
            string json = "{ stringFieldA:AA }";

            var mocks   = new MockRepository();
            var theMock = mocks.StrictMock <DeserializationListener>();

            RhinoMocks.Logger = new TextWriterExpectationLogger(Console.Out);
            theMock.Expect(x => theMock.onCreateObject(new SimpleTestObject())).Constraints(Is.TypeOf(typeof(SimpleTestObject)));
            theMock.Expect(x => theMock.onSetValue(sto, "stringFieldA", "AA")).Constraints(Is.TypeOf(typeof(SimpleTestObject)), Is.Equal("stringFieldA"), Is.Equal("AA"));
            theMock.Expect(x => theMock.onEndObject(new SimpleTestObject())).Constraints(Is.TypeOf(typeof(SimpleTestObject)));

            theMock.Replay();
            Json2Object j2o = new Json2Object();

            j2o.Add(theMock);
            j2o.toObject(json, typeof(SimpleTestObject));

            theMock.VerifyAllExpectations();
        }
Пример #14
0
        public void CanConvertSimpleObjectType()
        {
            var obj         = new SimpleTestObject();
            var str         = _serializer.Serialize(obj);
            var strWithType = _serializer.Serialize(obj, new SerializerSettings()
            {
                SerializationTypeHandle = SerializationTypeHandle.All
            });

            Console.WriteLine(str);
            Console.WriteLine(strWithType);
            Assert.AreEqual("{}", str);
            Assert.AreEqual("{\"$type\":\"SFJsonTests.SimpleTestObject, SFJsonTests\"}", strWithType);

            var strDeserialized = _deserializer.Deserialize <SimpleTestObject>(str);

            Assert.NotNull(strDeserialized);
            Assert.IsInstanceOf <SimpleTestObject>(strDeserialized);

            var strWithTypeDeserialized = _deserializer.Deserialize <SimpleTestObject>(strWithType);

            Assert.IsInstanceOf <SimpleTestObject>(strWithTypeDeserialized);
            Assert.NotNull(strWithTypeDeserialized);
        }
Пример #15
0
        public void WriteTest()
        {
            IPath outputFile = new BasePath(TestHelperMethods.GetOutputDirectory() + "SimpleTestObject.json");
            SimpleTestObject obj = new SimpleTestObject() { Name = SimpleTestObject.DefaultName, Id = SimpleTestObject.DefaultId };

            //Remove the file if it already exists, so we test that it actually writes a file.
            if (System.IO.File.Exists(outputFile.AbsolutePath))
                System.IO.File.Delete(outputFile.AbsolutePath);

            handler.Write(outputFile, obj);
            Assert.IsTrue(System.IO.File.Exists(outputFile.AbsolutePath));

            obj = handler.Read(outputFile);
            Assert.AreEqual(SimpleTestObject.DefaultName, obj.Name);
            Assert.AreEqual(SimpleTestObject.DefaultId, obj.Id);
        }
Пример #16
0
        public void WriteNullTest()
        {
            IPath outputFile = new BasePath(TestHelperMethods.GetOutputDirectory() + "FileHandlerWriteNullTest.json");
            try
            {
                handler.Write(outputFile, null);
                Assert.Fail("Write null did not throw exception as expected");
            }
            catch (Exception e)
            {
                Assert.IsNotNull(e); //I don't think this will ever fail, but still..
            }
            Assert.IsFalse(System.IO.File.Exists(outputFile.AbsolutePath));

            SimpleTestObject obj = new SimpleTestObject() { Name = SimpleTestObject.DefaultName, Id = SimpleTestObject.DefaultId };
            try
            {
                IPath path = null;
                handler.Write(path, obj);
                Assert.Fail("Write null did not throw exception as expected");
            }
            catch (Exception e)
            {
                Assert.IsNotNull(e); //I don't think this will ever fail, but still..
            }
        }
Пример #17
0
 public void WriteIncorrectPathTest()
 {
     IPath outputFile = new BasePath(":non&existing^%$file.json");
     SimpleTestObject obj = new SimpleTestObject() { Name = SimpleTestObject.DefaultName, Id = SimpleTestObject.DefaultId };
     try
     {
         handler.Write(outputFile, obj);
         Assert.Fail("Write to incorrect path did not throw exception as expected");
     }
     catch (ArgumentException e)
     {
         Assert.IsNotNull(e); //I don't think this will ever fail, but still..
     }
     Assert.IsFalse(System.IO.File.Exists(outputFile.AbsolutePath));
 }
Пример #18
0
        public void SingleSpecificationWorked()
        {
            var spec = new SpecificationBase <SimpleTestObject>(t => t.Name == "Name");

            Assert.True(spec.IsSatisfiedBy(SimpleTestObject.Create_For_Test_Where_Count_Is_Five_And_Name_Is_Name()));
        }
Пример #19
0
 public ObjectThatDependsOnSimpleObject(SimpleTestObject testObject)
 {
     TestObject = testObject;
 }
Пример #20
0
 public ObjectThatDependsOnSimpleObject(SimpleTestObject testObject)
 {
     TestObject = testObject;
 }
Пример #21
0
        public void DependencyOverrideOccursEverywhereTypeMatches()
        {
            var container = new UnityContainer()
                .RegisterType<ObjectThatDependsOnSimpleObject>(
                    new InjectionProperty("OtherTestObject"))
                .RegisterType<SimpleTestObject>(new InjectionConstructor());

            var overrideValue = new SimpleTestObject(15); // arbitrary value

            var result = container.Resolve<ObjectThatDependsOnSimpleObject>(
                new DependencyOverride<SimpleTestObject>(overrideValue));

            Assert.Same(overrideValue, result.TestObject);
            Assert.Same(overrideValue, result.OtherTestObject);
        }
        public void testNotifications()
        {
            SimpleTestObject sto = new SimpleTestObject();
              sto.stringFieldA = "AA";
              string json = "{ stringFieldA:AA }";

              var mocks = new MockRepository();
              var theMock = mocks.StrictMock<DeserializationListener>();
              RhinoMocks.Logger = new TextWriterExpectationLogger(Console.Out);
              theMock.Expect(x => theMock.onCreateObject(new SimpleTestObject())).Constraints(Is.TypeOf(typeof(SimpleTestObject)));
              theMock.Expect(x => theMock.onSetValue(sto, "stringFieldA", "AA")).Constraints(Is.TypeOf(typeof(SimpleTestObject)), Is.Equal("stringFieldA"), Is.Equal("AA"));
              theMock.Expect(x => theMock.onEndObject(new SimpleTestObject())).Constraints(Is.TypeOf(typeof(SimpleTestObject)));

              theMock.Replay();
              Json2Object j2o = new Json2Object();
              j2o.Add(theMock);
              j2o.toObject(json, typeof(SimpleTestObject));

              theMock.VerifyAllExpectations();
        }