public void SerialiseSimpleObject()
        {
            var simpleObject = new SimpleObject {Integer = 3, SomeString = "test"};

            var model = simpleObject.ToKO();

            model.ToJavascriptObject(ObjectName).Simplify().Should().BeInObject(ObjectName, "this.integer: ko.observable(3);this.someString: ko.observable('test');");
        }
        public void SerialiseSimpleObjectList()
        {
            var simpleObject = new SimpleObject {Integer = 3, SomeString = "test"};

            var model = new List<SimpleObject> {simpleObject}.ToKO("list");

            model.ToJavascriptObject(ObjectName).Simplify().Should().BeInObject(ObjectName, "this.list: ko.observableArray([{integer: ko.observable(3), someString: ko.observable('test')}]);");
        }
        public void SerialiseSimpleObject()
        {
            var simpleObject = new SimpleObject {Integer = 3, SomeString = "test"};

            var model = simpleObject.ToKO();

            model.ToJavascript().Simplify().Should().Be("{integer: ko.observable(3), someString: ko.observable('test')}");
        }
        public void SerializeComplexObject()
        {
            var simpleObject = new SimpleObject { Integer = 3, SomeString = "test" };
            var complexObject = new ComplexObject {Number = 4, SimpleObject = simpleObject};

            var model = complexObject.ToKO();

            model.ToJavascriptObject(ObjectName).Simplify().Should().BeInObject(ObjectName,
                                                        "this.number: ko.observable(4);" +
                                                        "this.simpleObject: ko.observable({" +
                                                            "integer: ko.observable(3), " +
                                                            "someString: ko.observable('test')" +
                                                        "});".Simplify());
        }
        public void SerializeComplexObjectWithList()
        {
            var simpleObject = new SimpleObject { Integer = 3, SomeString = "test" };
            var complexObjectWithList = new ComplexObjectWithList {Number = 4, SimpleObjects = new List<SimpleObject> {simpleObject}, Numbers = new List<int> {1, 2, 3}};

            var model = complexObjectWithList.ToKO();

            model.ToJavascriptObject(ObjectName).Simplify().Should().BeInObject(ObjectName,
                                                        "this.number: ko.observable(4);" +
                                                        "this.simpleObjects: ko.observableArray([{" +
                                                            "integer: ko.observable(3), " +
                                                            "someString: ko.observable('test')" +
                                                        "}]);" +
                                                        "this.numbers: ko.observableArray([1, 2, 3]);".Simplify());
        }