Search Results

Search found 7615 results on 305 pages for 'thomas de nooij'.

Page 137/305 | < Previous Page | 133 134 135 136 137 138 139 140 141 142 143 144  | Next Page >

  • Comment intégrer des chaines binaires dans un code source python en base64, par Jean-Paul Vidal

    On appellera ici ?chaine binaire? une chaine de caractères dans laquelle chaque caractère peut avoir une valeur de 0 à 255 (bornes comprises). Intégrer une chaine binaire dans le code source n'est pas facile, parce que la chaine binaire peut comporter a priori des octets de 0 à 255, mais les caractères intégrables dans le code source, donc affichables, devraient exclure au minimum les caractères de contrôles inférieurs à 32, certains caractères comme les guillemets ou les backslashs et se limiter à des octets inférieurs 128 (c'est-à-dire rester à 7 bits) pour échapper aux problèmes d'encodages. On va utiliser ici le module base64. Comment intégrer des chaines binaires dans le code source en base6...

    Read the article

  • Dicas do C# 4 consumindo uma DLL da Daruma com o mestre Claudenir

    - by renatohaddad
    Olá pessoal, recentemente tive o prazer de compartilhar o conhecimento com o time de desenvolvedores da Daruma e o Claudenir me convidou para gravar este vídeo mostrando como usar alguns recursos de parâmetros opcionais e expressões Lammmmmmbda no C# 4.O código contou com a presença do Felipe, da equipe da Daruma, o qual me mostrou quais métodos poderiamos consumir. Como não conheço nada da DLLs deles, o Felipe indicou quais poderíamos consumir retornando dados, então montamos uma coleção com Genérics e aplicamos lambda para extrair infos.Confira o vídeo em http://www.youtube.com/darumadeveloper#p/u/0/Ps2ddDYhkPUAbração.

    Read the article

  • Responsive Web design d'Ethan Marcotte, critique par Ihèb BEN ROMDHANE

    Bonjour, Je vous propose la critique du Livre Responsive Web design de Ethan Marcotte. Citation: Encore un très bon ouvrage dans l'excellente collection A book Apart, dans lequel Ethan Marcotte aborde, de manière très claire et argumentée, les différents aspects qui mènent à la création d'une mise en page fluide et responsive. Les exemples présentés s'appuient sur le principe des grilles de m...

    Read the article

  • Internet Hall of Fame : les pionniers d'Internet récompensés, Richard Stallman et Robert Meltcafe reconnus à leur juste valeur

    L'internet society place dans son hall of fame les hommes et les femmes qui ont façonné Internet de ses débuts à aujourd'hui Richard Stallman et Robert Meltcafe reconnus à leur juste valeurInternet. Le réseau des réseaux par excellence. Aujourd'hui, faire ses achats en ligne, jouer à des jeux en réseaux, « tchatcher » avec ses amis sur les réseaux sociaux sont des acquis. Cependant, beaucoup ne se doutent même pas que pour en arriver là, des étapes ont été franchies, des hommes et des femmes ont du donner de leur temps, de leur énergie et même de leur personne pour qu'internet soit ce réseau qui rend service à plus d'un aujourd'hui.Beaucoup ? Mais pas tous. Le 3 août, Berlin sera le siège d'un événement ...

    Read the article

  • Le futur noyau Linux gèrera le multicoeurs, parmis d'autres innovations

    Mise à jour du 07.04.2010 par Katleen Le futur noyau Linux gèrera le multicoeurs, parmis d'autres innovations On s'active dans le monde de l'open source. Plusieurs contributeurs travaillent sur le futur noyau Linux 2.6.34, qui pourrait permettre de grands pas en avant dans certains domaines. Déjà, pour les processeurs multicoeurs. Arnd Bergmann est en effet en train de faire sauter le verrou géant du kernel. Il n'est pour l'instant pas possible d'effectuer certaines opérations simultanément, ce qui réduit considérablement les performances des machines dotées de processeurs multicoeurs. Son correctif, supprimant les tâches bloquant l'ordinateur, serait prêt à être intégré au noyau Linux. ...

    Read the article

  • Apple est-elle une marque "juste pour les riches" ? Son CEO intérimaire Tim Cook ne le souhaite pas

    Apple est-elle une marque "juste pour les riches" ? Son CEO intérimaire Tim Cook ne le souhaite pas Il y a quelques jours, Tim Cook, qui assure la direction d'Apple pendant l'absence de Steve Jobs, a répondu à une interview. Jusque là, rien d'anormal. Mais l'homme y a tenu des propos polémiques, en affirmant qu'il ne voulait pas que ses produits soient "juste pour les riches". Il explique ensuite que la firme va travailler au développement de produits et d'offres moins coûteux. Il faut dire qu'actuellement, la firme à la pomme à une réputation d'entreprise fabriquant des machines de qualité et fournissant l'élite, du fait de ses tarifs plus élevés que la concurrence. Si les fanbo...

    Read the article

  • "ToS;DR" note les conditions d'utilisations des services Web et les rend intelligibles, Twitpic bonnet d'âne

    ToS;DR : le projet qui rend intelligibles les conditions d'utilisations des services Web Twitpic obtient le bonnet d'âne Habituellement, lors d'une inscription à un site, l'utilisateur est confronté à la validation de conditions d'utilisation obligatoires pour bénéficier du service. Mais qui les lit vraiment ? Écrites dans un langage purement juridique, ces conditions sont peu compréhensibles. Un nouveau projet, baptisé ToS;DR, vise à vous conseiller de manière plus claire sur la manière dont les sites traitent vos droits ? a priori inaliénables - avant de cliquer sur le bouton 'accepter'. ToS;DR est une abréviation de 'Term of Servi...

    Read the article

  • Oracle va proposer ses serveurs Sparc avec Oracle Enterprise Linux et plus simplement avec Solaris pour concurrencer encore plus IBM

    Oracle va proposer ses serveurs Sparc avec Oracle Enterprise Linux Et plus simplement avec Solaris, pour concurrencer encore plus IBM Oracle va porter sa distribution dans les prochaines versions de son processeur Sparc. Jusqu'ici, Solaris était l'OS de prédilection pour les serveurs SPARC. Ceci pourrait changer. Oracle a en effet décidé de mettre en avant sa distribution Linux : Oracle Enterprise Linux « Nous pensons que le Sparc va devenir clairement la meilleure technologie pour faire tourner des solutions Oracle », a déclaré Larry Ellison, le PDG d'Oracle lors du lancement des nouveaux systèmes SPARC. « Nous serions idiots de ne pas y porter Oracle Enterprise...

    Read the article

  • Firefox 23 bêta : partage et navigation simplifiés, le navigateur adopte un nouveau logo pour « une nouvelle ère »

    Firefox 23 bêta : partage et navigation simplifiée le navigateur adopte un nouveau logo pour « une nouvelle ère »Le développement de Firefox 23 se poursuit avec une nouvelle version bêta disponible en téléchargement depuis le site officiel de l'éditeur du navigateur. Quels sont les changements apportés par cette nouvelle version ? D'entrée de jeu, on peut déjà remarquer que le logo de Firefox a subi quelques petits changements. Sur la page officielle, on peut lire le slogan : « Un nouveau logo pour une nouvelle ère » Côté sécurité, une nouvelle fonctionnalité voit le jour. « Mixed content blocking...

    Read the article

  • Nokia dévoile sa première tablette sous Windows 8.1 RT, deux phablets Lumia et trois « feature phone »

    Nokia dévoile sa première tablette sous Windows 8.1 RT deux phablets Lumia et trois « feature phone » Nokia fait son entrée sur le marché prolifique et concurrentiel des tablettes.Le constructeur finlandais a présenté lors de la conférence Nokia World sa première tablette sous Windows 8.1 RT, et rejoint la liste quasi vide des constructeurs qui supportent encore cette déclinaison de l'OS de Microsoft.Lumia 2520 : une nouvelle image pour Windows 8.1 RT ?Baptisée Lumia 2520, la tablette tire parti...

    Read the article

  • Intel dévoile un PC avec un processeur à 48 coeurs, les fondeurs se rendent coup pour coup dans la c

    Mise à jour du 09/04/10 Intel dévoile un PC avec un processeur à 48 coeurs Les fondeurs se rendent coup pour coup dans la course au multi-coeur Après le prototype pour serveur, la mise en application en desktop. Sean Koehl, "techno évangéliste" de l'Intel Labs, vient de dévoiler un ordinateur particulièrement performant puisque celui-ci embarque un processeur à... 48 coeurs ! (lire ci-avant) Arrêtons le suspens, le grand public n'est pas visé (en tout cas pas tout de suite). Les premiers exemplaires de ces machines seront livrés vers mi-2010 à des institutions spécialisées dans la recherche. Sean Koehl note né...

    Read the article

  • Sécurité informatique : Cours et exercices corrigés, critique par Vallée Nicolas et Benwit

    Bonjour La rédaction de DVP a lu pour vous l'ouvrage suivant: Sécurité informatique : Cours et exercices corrigés de Gildas Avoine, Pascal Junod, Philippe Oechslin paru aux Éditions Vuibert [IMG]http://ecx.images-amazon.com/images/I/411odAhqrbL._SS500_.jpg[/IMG] Citation: Les attaques informatiques sont aujourd'hui l'un des fléaux de notre civilisation. Chaque semaine amène son lot d'alertes concernant ...

    Read the article

  • Un écran LCD 3D Ready pour 1499 euros en avril, Samsung investit le marché

    Mise à jour du 09.03.2010 par Katleen Un écran LCD 3D Ready pour 1499 euros en avril, Samsung investit le marché Panasonic s'est fait damer le pion par Samsung, qui vient d'annoncer une sortie de ses premiers téléviseurs 3D Ready en France pour avril 2010, soit un mois en avance sur son concurrent. Une douzaine de modèles sortiront dans cette gamme, toutes technologies confondues (LCD, LED, plasma...). L'appareil le moins cher sera un LCD 3D Ready de 40 pouces à 1499 euros. Les lunettes actives permettant denner des images en trois dimensions seront a acheter en sus, pour 200 euros les 4 paires (offre de lancement). Selon le constructeur coréen, une cinquantaine d...

    Read the article

  • Solutions Catalog - Nova versão a 5/Dez

    - by pfolgado
    O OPN Solutions Catalog é um sistema que a Oracle coloca à disposição dos seus parceiros, pretendendo ser um repositório público para quem procure informação sobre os Parceiros Oracle, as suas soluções e os seus serviços. Este Catálogo, disponível a todos os parceiros OPN, constitui um veículo de baixo custo para: Dar visibilidade da sua parceria Oracle Chegar a novos clientes e 'prospects' [learn more] Alargar a cobertura da sua estrutura de vendas Entrar em contacto com outros parceiros com soluções complementares. No próximo dia 5/Dez será disponibilizada uma nova versão, bastante melhorada, do Solutions Catalog, de que podem ter aqui um 'preview': Não perca esta oportunidade de promover a sua empresa e as suas soluções. Registe-se já! Se pretende ajuda neste processo, contacte o Partner Business Center através do tel. 800207211 ou por email.

    Read the article

  • Symbian sort un kit d'outils pour les développeurs d'application sous Symbian^3, simple d'utilisatio

    Mise à jour du 03.05.2010 par Katleen Symbian sort un kit d'outils pour les développeurs d'application sous Symbian^3, simple d'utilisation et compatible Windows, Mac et Linux « Si vous savez créer une page web, vous êtes un développeur Symbian^3 ». Le nouveau slogan de Symbian destiné à promouvoir ses derniers outils de développement d'applications tout juste disponibles pour Windows, Mac et Linux est on ne peut plus clair. Leur maniement sera facile. L'écriture se fera en HTML, CSS et JavaScript. De plus, des API JavaScript spécifiques permettront de travailler sur des fonctions particulières telles que le répertoire, l'appareil photo, l'accéléromètre, le GPS, etc.

    Read the article

  • Le W3C publie ses conseils pour la création d'applications Web mobiles et annonce un nouveau standard

    Le W3C publie ses conseils pour la création d'applications Web mobiles et annonce un nouveau standard Le W3C annonce un nouveau standard destiné à faciliter la tâche des développeurs et fournisseurs de contenu qui créent des applications dynamiques via le Web mobile. Les bonnes pratiques pour les applications Web mobiles (MWABP), publiées comme recommandation du W3C, proposent des conseils pratiques d'experts du Web mobile pour faciliter le développement et la mise en oeuvre d'applications Web mobiles sur de nombreuses plates-formes. «Ce document est une mine d'or de conseils : j'ai eu l'occasion de les mettre en application pour m'assurer que l'application mobile «antisèche» du W3...

    Read the article

  • Visual Studio Talk Show #115 is now online - Entity Framework 4 (French)

    - by guybarrette
    http://www.visualstudiotalkshow.com Matthieu Mezil: Entity Framework 4 Nous discutons avec Matthieu Mezil de la version 4 de Entity Framework (EF4). Entre autres, on évaluera avec Matthieu en quoi cette nouvelle version qui sera inclus avec Visual Studio 2010 permet de concevoir un ORM (Object Relational Mapper) avec une implémentation Agile. Matthieu Mezil est consultant formateur chez Access IT à Paris. MVP C# et speaker INETA, il s’est spécialisé sur l’Entity Framework. Il anime régulièrement des conférences sur ce sujet, notamment dans le cadre d’évènements Microsoft. MCT, Matthieu a également écrit plusieurs formations sur la POO, le langage C# et bien sûr sur l’Entity Framework qu’il anime fréquemment. Dans le cadre de son travail, il est souvent amené à travailler avec le Microsoft Technology Center de Paris. Matthieu est également un bloggeur important: en français sur http://blogs.codes-sources.com/matthieu et en anglais sur http://msmvps.com/blogs/matthieu. Télécharger l'émission Si vous désirez un accès direct au fichier audio en format MP3, nous vous invitons à télécharger le fichier en utilisant un des boutons ci-dessous. Si vous désirez utiliser le feed RSS pour télécharger l'émission, nous vous invitons à vous abonnez en utilisant le bouton ci-dessous. Si vous désirez utiliser le répertoire iTunes Podcast pour télécharger l'émission, nous vous encourageons à vous abonnez en utilisant le bouton ci-dessous. var addthis_pub="guybarrette";

    Read the article

  • Dell et AMD victimes d'espionnage industriel, des salariés vendaient des informations sensibles à un consultant

    Dell et AMD victimes d'espionnage industriel, des salariés vendaient des informations sensibles à un consultant Une fraude aux informations professionnelles confidentielles aux Etats-Unis vient d'être découverte, et démantelée. Cinq personnes seront jugées. L'affaire porte sur plusieurs entreprises IT, dont les seuls noms qui ont été révélés sont Dell et AMD. Ces dernières ont été abusées par certains de leurs salariés, qui, de manière illégale, faisaient sortir des informations sensibles des murs de leur compagnie. Pour quoi faire ? Les revendre à un consultant travaillant chez Primary Global, une entreprise officiant dans le domaine des études de marché. Les employés malhonnêtes fournissaient ainsi...

    Read the article

  • Bill Gates et Mark Zuckerberg vont enseigner la programmation à travers l'initiative Code.org

    Bill Gates et Zuckerberg rejoignent la campagne Hour of code une initiative de code.org destinée à apprendre la programmation aux plus jeunesLa moisson est abondante pour le vaste marché de l'emploi aux États-Unis, mais les ouvriers sont peu nombreux. Le « Bureau of Labor Statistics » américain estime que les années à venir devraient donner naissance à près de 122 000 opportunités d'emploi en relation avec l'informatique. La condition requise pour postuler à ces offres sera d'avoir au minimum...

    Read the article

  • SharePoint 2010 Leiria

    - by Ricardo Peres
    Ontem ocorreu o primeiro evento SharePoint 2010 Leiria, organizado pelo David Frazão, que me convidou, e no qual tive a honra de participar. Estavam presentes cerca de 12 pessoas, com experiências muito variadas de utilização do SharePoint. Foi muito interessante, sobretudo, se se vier a repetir! Fiz uma breve apresentação sobre os Business Connectivity Services do SharePoint 2010. Podem fazer download dos slides e do código fonte no meu SkyDrive.

    Read the article

  • Android : Pourquoi Apple n'attaque-t-il pas directement Google ? Eric Schmidt étonné que la firme vise plutôt les constructeurs

    Android : Pourquoi Apple n'attaque-t-il pas directement Google ? Eric Schmidt étonné que la firme vise plutôt les constructeurs Dans un entretien accordé au magazine Wall Street Journal concernant les relations tendues entre Google et Apple, Eric Schmidt, Président du conseil d'administration de Google, exprime son étonnement au fait qu'Apple n'attaque pas directement Google en justice pour violation de brevets. La firme à la pomme croquée depuis plusieurs années est en conflit avec les constructeurs de terminaux Android, qu'elle accuse de violer dans leurs dispositifs ses propriétés intellectuelles. Dans sa dernière plainte contre Samsung, Apple s'attaque directement à l...

    Read the article

  • La "taxe Google" reportée pour un délai d'au moins six mois, malgré son adoption lundi par la commission mixte paritaire

    La "taxe Google" reportée pour un délai d'au moins six mois, malgré son adoption lundi par la commission mixte paritaire Mise à jour du 15.12.2010 par Katleen Lundi soir, la "taxe Google" a été adoptée par la Commission Mixte Paritaire (composée de 7 sénateurs et 7 députés), qui l'a un peu remodelée en favorisant le texte du Sénat plutôt que celui de l'Assemblée. Ceci a crée un fort mouvement de contestation auprès des professionnels français de la publicité en ligne, qui seront les premiers touchés et directement ponctionnés par cet impôt spécifique. « Une telle taxe ferait mécaniquement baisser les recettes des acteurs français installés en France et retarderait ...

    Read the article

  • Testing Entity Framework applications, pt. 3: NDbUnit

    - by Thomas Weller
    This is the third of a three part series that deals with the issue of faking test data in the context of a legacy app that was built with Microsoft's Entity Framework (EF) on top of an MS SQL Server database – a scenario that can be found very often. Please read the first part for a description of the sample application, a discussion of some general aspects of unit testing in a database context, and of some more specific aspects of the here discussed EF/MSSQL combination. Lately, I wondered how you would ‘mock’ the data layer of a legacy application, when this data layer is made up of an MS Entity Framework (EF) model in combination with a MS SQL Server database. Originally, this question came up in the context of how you could enable higher-level integration tests (automated UI tests, to be exact) for a legacy application that uses this EF/MSSQL combo as its data store mechanism – a not so uncommon scenario. The question sparked my interest, and I decided to dive into it somewhat deeper. What I've found out is, in short, that it's not very easy and straightforward to do it – but it can be done. The two strategies that are best suited to fit the bill involve using either the (commercial) Typemock Isolator tool or the (free) NDbUnit framework. The use of Typemock was discussed in the previous post, this post now will present the NDbUnit approach... NDbUnit is an Apache 2.0-licensed open-source project, and like so many other Nxxx tools and frameworks, it is basically a C#/.NET port of the corresponding Java version (DbUnit namely). In short, it helps you in flexibly managing the state of a database in that it lets you easily perform basic operations (like e.g. Insert, Delete, Refresh, DeleteAll)  against your database and, most notably, lets you feed it with data from external xml files. Let's have a look at how things can be done with the help of this framework. Preparing the test data Compared to Typemock, using NDbUnit implies a totally different approach to meet our testing needs.  So the here described testing scenario requires an instance of an SQL Server database in operation, and it also means that the Entity Framework model that sits on top of this database is completely unaffected. First things first: For its interactions with the database, NDbUnit relies on a .NET Dataset xsd file. See Step 1 of their Quick Start Guide for a description of how to create one. With this prerequisite in place then, the test fixture's setup code could look something like this: [TestFixture, TestsOn(typeof(PersonRepository))] [Metadata("NDbUnit Quickstart URL",           "http://code.google.com/p/ndbunit/wiki/QuickStartGuide")] [Description("Uses the NDbUnit library to provide test data to a local database.")] public class PersonRepositoryFixture {     #region Constants     private const string XmlSchema = @"..\..\TestData\School.xsd";     #endregion // Constants     #region Fields     private SchoolEntities _schoolContext;     private PersonRepository _personRepository;     private INDbUnitTest _database;     #endregion // Fields     #region Setup/TearDown     [FixtureSetUp]     public void FixtureSetUp()     {         var connectionString = ConfigurationManager.ConnectionStrings["School_Test"].ConnectionString;         _database = new SqlDbUnitTest(connectionString);         _database.ReadXmlSchema(XmlSchema);         var entityConnectionStringBuilder = new EntityConnectionStringBuilder         {             Metadata = "res://*/School.csdl|res://*/School.ssdl|res://*/School.msl",             Provider = "System.Data.SqlClient",             ProviderConnectionString = connectionString         };         _schoolContext = new SchoolEntities(entityConnectionStringBuilder.ConnectionString);         _personRepository = new PersonRepository(this._schoolContext);     }     [FixtureTearDown]     public void FixtureTearDown()     {         _database.PerformDbOperation(DbOperationFlag.DeleteAll);         _schoolContext.Dispose();     }     ...  As you can see, there is slightly more fixture setup code involved if your tests are using NDbUnit to provide the test data: Because we're dealing with a physical database instance here, we first need to pick up the test-specific connection string from the test assemblies' App.config, then initialize an NDbUnit helper object with this connection along with the provided xsd file, and also set up the SchoolEntities and the PersonRepository instances accordingly. The _database field (an instance of the INdUnitTest interface) will be our single access point to the underlying database: We use it to perform all the required operations against the data store. To have a flexible mechanism to easily insert data into the database, we can write a helper method like this: private void InsertTestData(params string[] dataFileNames) {     _database.PerformDbOperation(DbOperationFlag.DeleteAll);     if (dataFileNames == null)     {         return;     }     try     {         foreach (string fileName in dataFileNames)         {             if (!File.Exists(fileName))             {                 throw new FileNotFoundException(Path.GetFullPath(fileName));             }             _database.ReadXml(fileName);             _database.PerformDbOperation(DbOperationFlag.InsertIdentity);         }     }     catch     {         _database.PerformDbOperation(DbOperationFlag.DeleteAll);         throw;     } } This lets us easily insert test data from xml files, in any number and in a  controlled order (which is important because we eventually must fulfill referential constraints, or we must account for some other stuff that imposes a specific ordering on data insertion). Again, as with Typemock, I won't go into API details here. - Unfortunately, there isn't too much documentation for NDbUnit anyway, other than the already mentioned Quick Start Guide (and the source code itself, of course) - a not so uncommon problem with smaller Open Source Projects. Last not least, we need to provide the required test data in xml form. A snippet for data from the People table might look like this, for example: <?xml version="1.0" encoding="utf-8" ?> <School xmlns="http://tempuri.org/School.xsd">   <Person>     <PersonID>1</PersonID>     <LastName>Abercrombie</LastName>     <FirstName>Kim</FirstName>     <HireDate>1995-03-11T00:00:00</HireDate>   </Person>   <Person>     <PersonID>2</PersonID>     <LastName>Barzdukas</LastName>     <FirstName>Gytis</FirstName>     <EnrollmentDate>2005-09-01T00:00:00</EnrollmentDate>   </Person>   <Person>     ... You can also have data from various tables in one single xml file, if that's appropriate for you (but beware of the already mentioned ordering issues). It's true that your test assembly may end up with dozens of such xml files, each containing quite a big amount of text data. But because the files are of very low complexity, and with the help of a little bit of Copy/Paste and Excel magic, this appears to be well manageable. Executing some basic tests Here are some of the possible tests that can be written with the above preparations in place: private const string People = @"..\..\TestData\School.People.xml"; ... [Test, MultipleAsserts, TestsOn("PersonRepository.GetNameList")] public void GetNameList_ListOrdering_ReturnsTheExpectedFullNames() {     InsertTestData(People);     List<string> names =         _personRepository.GetNameList(NameOrdering.List);     Assert.Count(34, names);     Assert.AreEqual("Abercrombie, Kim", names.First());     Assert.AreEqual("Zheng, Roger", names.Last()); } [Test, MultipleAsserts, TestsOn("PersonRepository.GetNameList")] [DependsOn("RemovePerson_CalledOnce_DecreasesCountByOne")] public void GetNameList_NormalOrdering_ReturnsTheExpectedFullNames() {     InsertTestData(People);     List<string> names =         _personRepository.GetNameList(NameOrdering.Normal);     Assert.Count(34, names);     Assert.AreEqual("Alexandra Walker", names.First());     Assert.AreEqual("Yan Li", names.Last()); } [Test, TestsOn("PersonRepository.AddPerson")] public void AddPerson_CalledOnce_IncreasesCountByOne() {     InsertTestData(People);     int count = _personRepository.Count;     _personRepository.AddPerson(new Person { FirstName = "Thomas", LastName = "Weller" });     Assert.AreEqual(count + 1, _personRepository.Count); } [Test, TestsOn("PersonRepository.RemovePerson")] public void RemovePerson_CalledOnce_DecreasesCountByOne() {     InsertTestData(People);     int count = _personRepository.Count;     _personRepository.RemovePerson(new Person { PersonID = 33 });     Assert.AreEqual(count - 1, _personRepository.Count); } Not much difference here compared to the corresponding Typemock versions, except that we had to do a bit more preparational work (and also it was harder to get the required knowledge). But this picture changes quite dramatically if we look at some more demanding test cases: Ok, and what if things are becoming somewhat more complex? Tests like the above ones represent the 'easy' scenarios. They may account for the biggest portion of real-world use cases of the application, and they are important to make sure that it is generally sound. But usually, all these nasty little bugs originate from the more complex parts of our code, or they occur when something goes wrong. So, for a testing strategy to be of real practical use, it is especially important to see how easy or difficult it is to mimick a scenario which represents a more complex or exceptional case. The following test, for example, deals with the case that there is some sort of invalid input from the caller: [Test, MultipleAsserts, TestsOn("PersonRepository.GetCourseMembers")] [Row(null, typeof(ArgumentNullException))] [Row("", typeof(ArgumentException))] [Row("NotExistingCourse", typeof(ArgumentException))] public void GetCourseMembers_WithGivenVariousInvalidValues_Throws(string courseTitle, Type expectedInnerExceptionType) {     var exception = Assert.Throws<RepositoryException>(() =>                                 _personRepository.GetCourseMembers(courseTitle));     Assert.IsInstanceOfType(expectedInnerExceptionType, exception.InnerException); } Apparently, this test doesn't need an 'Arrange' part at all (see here for the same test with the Typemock tool). It acts just like any other client code, and all the required business logic comes from the database itself. This doesn't always necessarily mean that there is less complexity, but only that the complexity happens in a different part of your test resources (in the xml files namely, where you sometimes have to spend a lot of effort for carefully preparing the required test data). Another example, which relies on an underlying 1-n relationship, might be this: [Test, MultipleAsserts, TestsOn("PersonRepository.GetCourseMembers")] public void GetCourseMembers_WhenGivenAnExistingCourse_ReturnsListOfStudents() {     InsertTestData(People, Course, Department, StudentGrade);     List<Person> persons = _personRepository.GetCourseMembers("Macroeconomics");     Assert.Count(4, persons);     Assert.ForAll(         persons,         @p => new[] { 10, 11, 12, 14 }.Contains(@p.PersonID),         "Person has none of the expected IDs."); } If you compare this test to its corresponding Typemock version, you immediately see that the test itself is much simpler, easier to read, and thus much more intention-revealing. The complexity here lies hidden behind the call to the InsertTestData() helper method and the content of the used xml files with the test data. And also note that you might have to provide additional data which are not even directly relevant to your test, but are required only to fulfill some integrity needs of the underlying database. Conclusion The first thing to notice when comparing the NDbUnit approach to its Typemock counterpart obviously deals with performance: Of course, NDbUnit is much slower than Typemock. Technically,  it doesn't even make sense to compare the two tools. But practically, it may well play a role and could or could not be an issue, depending on how much tests you have of this kind, how often you run them, and what role they play in your development cycle. Also, because the dataset from the required xsd file must fully match the database schema (even in parts that otherwise wouldn't be relevant to you), it can be quite cumbersome to be in a team where different people are working with the database in parallel. My personal experience is – as already said in the first part – that Typemock gives you a better development experience in a 'dynamic' scenario (when you're working in some kind of TDD-style, you're oftentimes executing the tests from your dev box, and your database schema changes frequently), whereas the NDbUnit approach is a good and solid solution in more 'static' development scenarios (when you need to execute the tests less frequently or only on a separate build server, and/or the underlying database schema can be kept relatively stable), for example some variations of higher-level integration or User-Acceptance tests. But in any case, opening Entity Framework based applications for testing requires a fair amount of resources, planning, and preparational work – it's definitely not the kind of stuff that you would call 'easy to test'. Hopefully, future versions of EF will take testing concerns into account. Otherwise, I don't see too much of a future for the framework in the long run, even though it's quite popular at the moment... The sample solution A sample solution (VS 2010) with the code from this article series is available via my Bitbucket account from here (Bitbucket is a hosting site for Mercurial repositories. The repositories may also be accessed with the Git and Subversion SCMs - consult the documentation for details. In addition, it is possible to download the solution simply as a zipped archive – via the 'get source' button on the very right.). The solution contains some more tests against the PersonRepository class, which are not shown here. Also, it contains database scripts to create and fill the School sample database. To compile and run, the solution expects the Gallio/MbUnit framework to be installed (which is free and can be downloaded from here), the NDbUnit framework (which is also free and can be downloaded from here), and the Typemock Isolator tool (a fully functional 30day-trial is available here). Moreover, you will need an instance of the Microsoft SQL Server DBMS, and you will have to adapt the connection strings in the test projects App.config files accordingly.

    Read the article

  • Le tout premier téléphone cellulaire mécanique au monde, insolite création d'un horloger français

    Le tout premier téléphone cellulaire mécanique au monde, insolite création d'un horloger français L'entreprise française d'horlogerie CELSIUS X VI II devrait dévoiler dans les jours à venir un appareil très original. En effet, ce tient cette semaine en Suisse le Baselworld 2010 : le salon annuel de l'horlogerie. Celsius y dévoilera le Papillon : un téléphone mobile uniquement mécanique, doté d'un tourbillon. Il est composé de 547 pièces micro-mécaniques assemblées dans la plus orfèvre tradition horlogère. Il embarque un remontage Papillon (brevet exclusif) qui est activé dès que le clapet du téléphone est ouvert. Autrement dit, plus de "je n'ai plus de batterie". ...

    Read the article

< Previous Page | 133 134 135 136 137 138 139 140 141 142 143 144  | Next Page >