public void SaveLoad_ReleationsDto()
        {
            var diagramDto = new DiagramDataDto
            {
                Classifiers = new List<ClassifierDto> { CarDto, TireDto },
            };

            var serializer = new JsonSerializer();
            var json = serializer.SaveDto(diagramDto);

            var newDiagramDto = serializer.LoadDto(json);
            var loadedCar = newDiagramDto.Classifiers[0];
            var loadedTire = newDiagramDto.Classifiers[1];
            var relation = loadedCar.Associations.Single();

            Assert.AreSame(loadedCar, relation.Start);
            Assert.AreSame(loadedTire, relation.End);
            Assert.AreEqual("has", relation.Name);
            Assert.AreEqual(RelationType.Aggregation, relation.RelationType);
            Assert.AreEqual(Multiplicity.ZeroToMany, relation.EndMultiplicity);
        }
        public void SaveLoad_MethodDtos()
        {
            var diagramDto = new DiagramDataDto
            {
                Classifiers = new List<ClassifierDto>
                {
                    StringDto,IntegerDto,ServiceDto
                }
            };

            var serializer = new JsonSerializer();
            var content = serializer.SaveDto(diagramDto);
            var restoredDtos = serializer
                .LoadDto(content)
                .Classifiers
                .ToList();

            var service = restoredDtos.Single(x => x.Name == "Service");
            // ensure that classifiers references are reused
            Assert.AreSame(restoredDtos[0], service.Methods[0].Parameters[0].Type);
            // ensure that all method data was read correctly
            Assert.AreEqual(service.Methods[0],ServiceDto.Methods[0]);
        }