Search Results

Search found 10936 results on 438 pages for 'monitor refresh rate'.

Page 193/438 | < Previous Page | 189 190 191 192 193 194 195 196 197 198 199 200  | Next Page >

  • How do I get the root index page to redirect to a subdirectory without affecting SEO?

    - by paradroid
    I am reviving/reorganising my personal WordPress blog. It's using a URL that looks like this: http://mydomain.com/blog The webserver 301 redirects www.mydomain.com to mydomain.com. I want to use the blog subdirectory because I plan to add other parts to the site, with the blog only being one part of the site. However, at the moment there is nothing there but the blog, so I want to have the root index page redirect to the blog for the time being. I have been using this on the root index.html page to do the redirect... <meta http-equiv="REFRESH" content="0;url=./blog"></HEAD> ...but this seemed to have stopped the site being indexed by Google and Bing. How do I do this without affecting SEO? Also, what URL should I put in the sitemap.xml?

    Read the article

  • DotNetNuke Gallery Module - 7 Videos

    In this tutorial we cover the Installation of the DotNetNuke Core Gallery Module and show you how to configure it correctly. We walk you through how to use all of the features in the Gallery module including creating albums, uploading files, bulk uploads, the slideshow, media files, watermarks, templates, and more. The videos contain: Video 1 - Introduction to the DNN Gallery Module, Installation and Basic Configuration Video 2 - How to Upload Images and Configure Their Settings Video 3 - Creating Gallery Albums and Bulk Uploading Video 4 - How to Add Files and Albums Using FTP, Adding Music and Changing Permissible Upload Types Video 5 - How to Add Video Files, How to Rate Files, Gallery Look and Feel Video 6 - Changing Feature Settings, Adding Watermarks, Gallery Security Roles Video 7 - Working with Private Galleries and Security Roles, Gallery Maintenance Total Time Length: 57minsDid you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • SQLBits will be full shortly

    - by simonsabin
    This really is a note to give people a gentle nudge. If you are thinking about coming to SQLBits then you need to register soon. We’ve never had to close registrations this early but it looks like we will be full my mid March. Some of the training days will be full before then. With the early bird rate ending at the end of February we could see SQLBits filling up even sooner. So if you want to come to SQLBits in Brighton in April. Make sure you register soon....(read more)

    Read the article

  • 12.10 unable to install or even run from Live CD with nVidia GTX 580

    - by user99056
    I've used Ubuntu in the past (set up as web server, etc over in Iraq), so I'm not a 100% Linux Noob, however, I'm running into a brick wall here. I've got a machine I built when I got back to the US earlier this year, running Windows 7 Ultimate on it, and I've now got some free time and would like to transition over to Ubuntu full time. I've searched around in the forums, and there seems to be an issue with the nVidia graphics cards, so I've tried going to the EVGA site to see if I could find a new BIOS update for it and had no luck, so I'm back searching the forums here again and decided to just go ahead and post my question. My apologies if this is covered in another post and I was just unable to find it. I've found a few 'similar' posts, but nothing as bad as my issue. With the history aside, here is the actual detailed issue: I purchased a new SSD (Intel 520 SSD), arrived today, and I disconnect my old Windows 7 SSD. I had pre downloaded the ubuntu-12.10-desktop-amd64 earlier today and burned it to DVD. Upon inserting the Live CD into the computer and booting up, everything was fine up to the 'Run From Live CD' or 'Install Ubuntu Now' buttons. As I was sure I wanted to go ahead and make the switch, I selected the 'Install Now' from the right hand side. CD Spins up, black window pops up, and then the errors started: date/time GPU Lockup date/time Failed to idle channel 1 date/time PFIFO - playlist update failed date/time Failed to idle channel 2 date/time PFIFO - playlist update failed Thinking it might correct itself, I let it run and it would swap over to a GUI Screen that was locked up with major blurring/etc, then back to the command line with the errors. Eventually it said something along the lines of 'unknown status' and switched back to the GUI and froze. So, that's when I tried to see if I could find a BIOS upgrade for the nVidia GTX580 cards, and had no luck. So I thought, why not try to just run it from the Live CD and see if I can at least get a look at it, maybe if I could get it running try to do some sort of install from there and fix the driver issue. I rebooted, brought up the Live CD, and this time chose the left option / run from the CD. It brought me all the way in to the desktop, I saw my drives, the other icons, could move the mouse, etc for about 30 seconds and then it locked up completely. I've tried this a couple of times and get the same results every time. Hardware: Intel i7-3930K CPU @ 3.2GHz (12 CPUs) / MSI MS-7760 Motherboard / 32GB RAM / 2 x EVGA (nVidia) GeForce GTX 580 (4GB Ram each) So the question is: Is there any way to install 12.10 if you can't even get the Live CD to run (for more than 30 seconds)? My current hardware configuration is both of the GTX 580 cards have an SLI jumper on them, and I have 2 monitors on each card. (Ubuntu info obviously only shows on the main monitor from the failed installation and the attempt at running the Live CD). Perhaps opening the machine back up and removing the SLI Jumper and removing the other 3 monitors (so it only would have 1 video card with one monitor on it) would actually allow me to get 12.10 installed, then I could work on an nVidia Video Driver fix for the GTX 580, and then possibly hook up the other video card and monitors? Or is this something that they are currently aware of and may update with a future release in the next few days/weeks? Any thoughts or suggestions would be greatly appreciated, as I can't even try to fix the issue (assuming it is the nVidia drivers) if I can't even get it to install at all.

    Read the article

  • Ubuntu 10.10 screen goes nuts and unreadable

    - by ChazD
    Running Ubuntu 10.10 in its own partition, also have Oracle Virtualbox 4 with Windows XP. Because i previously had a problem with a dark screen when i let the laptop on and i didn't use it for a long while i had set Power settings to Never sleep, never let the Display sleep. Monitor on install set to Laptop resolution 1400 by 1050, refresh rate 60 Hz, rotation Normal. The problem was when the computer was left on and i returned after about an hour, the screen was unreadable, similar to what used to happen to graphics cards before multisync became normal. So it appears as though the graphics card was asked to use a resolution it couldn't handle and went nuts. I had to power off the system, on restart everything was fine. Thanks for any suggestions. ChazD

    Read the article

  • What is an achievable way of setting content budgets (e.g. polygon count) for level content in a 3D title?

    - by MrCranky
    In answering this question for swquinn, the answer raised a more pertinent question that I'd like to hear answers to. I'll post our own strategy (promise I won't accept it as the answer), but I'd like to hear others. Specifically: how do you go about setting a sensible budget for your content team. Usually one of the very first questions asked in a development is: what's our polygon budget? Of course, these days it's rare that vertex/poly count alone is the limiting factor, instead shader complexity, fill-rate, lighting complexity, all come into play. What the content team want are some hard numbers / limits to work to such that they have a reasonable expectation that their content, once it actually gets into the engine, will not be too heavy. Given that 'it depends' isn't a particularly useful answer, I'd like to hear a strategy that allows me to give them workable limits without being a) misleading, or b) wrong.

    Read the article

  • Database Insider - July 2012 issue

    - by Javier Puerta
    The July issue of the Database Insider newsletter is now available. (Full newsletter here) INFORMATION INDEPTH NEWSLETTERDatabase Insider Edition - July 2012 Optimize Your Communications Applications on Oracle ExadataThe communications industry is experiencing explosive growth, which means that high-performing, scalable, and cost-effective solutions are critical for success. Learn more by accessing white papers, success stories, product information, videos, podcasts, and more. Register now. Oracle Exadata Enables Neuralitic's SevenFlow Application ImprovementsImproves application performance 3x and compression rate/scalability 10x. ElectraCard Services Runs Oracle Exadata on Oracle LinuxAchieves processing speeds greater than 12,000 TPS and increases performance 2x. Read full newsletter here

    Read the article

  • How will you make a webdeveloper resume in 2012? [closed]

    - by Napolux
    It's been a while since the last time I updated my resume. Now it's time to give it a refresh, but even if I have a strong experience and I worked recently on many big projects my resume "feels" quite old. Maybe is the format (in Europe we have europass that is a standard) that doesn't fit the work of a developer, I don't know. Or maybe it's only me: it's 2012 and I start thinking that showing a list of projects and a bunch of acronyms in a CV like PHP, HTML, JS, CSS, whatever is quite boring for a recruiter. How is your resume? What is in your opinion the best format (a little website, a PDF showcase of the projects I worked on, just a standard CV, etc...) for a webdeveloper?

    Read the article

  • sometimes, strange audio distortion(peeping, scratching), ubuntu 12.04

    - by richi902
    i have a problem with my sound in ubuntu 12.04. the problem is, that sometimes out of nowhere, when switching songs, or playing youtube videos, changing volume with my keyboard buttons, that the sound gets distorted(peeping, scratching). i dont know if it is related, but when i skip through music in rythmbox, there is also a little scratching noise. i can sometimes temporarly fix it: for youtube videos, i refresh the page, and sometimes it works agian normal, mostly not. for audio playback with rythmbox, i have to pause the song for sometime, and resume it, and hope that it works. before all that,i have changed my soundcard to "Analog Surround 5.1" in the sound settings from ubuntu, but i also used alsamixer to change it from 2 channels to 6 channels, since changing in ubuntu sound settings alone wasnt enough to make the other speaks work. i use a ASUS P8-H61-M LE B3 Revision Motherboard. which has a built in surround soundcard.

    Read the article

  • Building a touch event driven UI from scratch: what algorithms or data types?

    - by user1717079
    I have a touch display. As input I can receive the coordinates and how many touch points are in use, basically I just get an X,Y couple for every touch event/activated point at a customizable rate. I need to start from this and build my own callback system to achieve something like Object.onUp().doSomething() meaning that I would like to abstract just the detection of some particular movements and not having to deal with raw data: what algorithms can be useful in this case? What statements? Is there some C++ library that I can dissect to get some useful info? Would you suggest the use of an heuristic algorithm?

    Read the article

  • update(100) behaves slightly different than 10 times update(10) - is that a problem? [on hold]

    - by futlib
    While looking into some test failures, I've identified an curious issue with my update logic. This: game.update(100); Behaves slightly different from: for (int i = 0; i < 10; i++) game.update(10); The concrete example here is a rotating entity. It rotates by exactly 360 degrees in the first case, but only by about 352 in the second. This leads to slight variations in how things move, depending on the frame rate. Not enough to be noticeable in practice, but I did notice it when writing tests. Now my question is: Should this be fully deterministic, i.e. the outcome of update(1) * n should equal update(n) exactly? Or is it normal to have some variance and I should make my test assertions more generous?

    Read the article

  • How to Determine VPS Hosting Resources Needs for my upcoming Wordpress blog? How much resources should i purchase? [closed]

    - by Ishwar dixit
    Possible Duplicate: How to find web hosting that meets my requirements? Decided to purchase VPS hosting but Getting confused on amount of Resources i need? Wordpress will be used as platform, The blog i want to setup is assumed to have a traffic between 20k - 25k Visits per day with a rate of 5 pageviews per visit... there is No Download Facility provided...the content of the blog will be Text, Images & videos (will be used rarely)... The main question is? For the above requirement: How much RAM will be enough? How much CPU usage i will need? How much Bandwidth will be enough? How much Disk Space? Any other Requirement? Thanx in Advance..

    Read the article

  • f12 and ctrl + f5 not working correctly [migrated]

    - by ComatoseDuck
    When I came back to my work computer after being away for a week I found out when I try to clear the cache and refresh the page via ctrl + f5 (or just f5) I get the prompt "Type the Internet address of a document, and Internet Explorer will open it for you" with a drop down list in IE. When I try f5 in Chrome and FF it opens the "Open file" dialog box. When I try to f12 for Dev tools in IE, Chrome & FF it opens up the print dialog box. Why is this happening and what can I do to revert it back to the way it was?

    Read the article

  • Reload Gtk+ 3.0 theme

    - by eagleoneraptor
    I'm trying to customize my Gtk+3.0 theme, when I make a change in my theme, I change between two themes (with MyUnity) to force applications to reload the theme and test mine. But when I do that, the theme is not refreshed to appreciate my changes, still in an old version, apparently Gtk+ is caching the theme information somewhere. When I close and reopen session, I can appreciate my theme changes, but doing this for each change made is very annoying. Is there a way to refresh my theme and see my changes (a command line program or an Gtk+ API call for example)?

    Read the article

  • Lock file/content while being edited in browser. [migrated]

    - by codescope
    In one of my projects users are allowed to edit the same file. It is group work and max number of users in group is 4. It is rare that they will be editing at the same time but there is possibility of it. I am using ckeditor which displays the content. how I can lock the content while it is being edited? For the above case what will happen if one users open the content for editing and then never saves and leave window open. Is it possible to save the content, release the lock for editing by another users? If first user comes back to desk they should see the message that "content has been changed, please refresh". I am using php, mysql. Thanks

    Read the article

  • Release notes for 12/05/2012

    Over the last week the CodePlex team fixed several bugs throughout the site. Several notable changes were: Fixed several UI issues related to the recent action bar changes Fixed the issue related to double posting when responding to a discussion. Thanks to Crutkas. Fixed the favicons in Chrome Fixed the refresh page issue related to unsubscribing from a project Fixed the inactive donate checkbox when ad configurations are changed Removed the redundant “subscribe to project” button above the tabs Have ideas on how to improve CodePlex? Please visit our suggestions page! Vote for existing ideas or submit a new one. As always you can reach out to the CodePlex team on Twitter @codeplex or reach me directly @mgroves84

    Read the article

  • Large Sprite Performance

    - by Iansen
    I've got a large Sprite generated using a set of vertices(x,y coordinates) and a bitmap pattern (using moveTo, lineTo, beginBitmapFill, endFill ...etc). It's about 15000 pixels wide and between 1500 - 2000 pixels high depending on the level -it's the terrain for a 2D game. My question is: what is the best way to display/move it on the stage - performance wise? Currently I'm just adding it to the stage as is...I get decent frame rate/ memory/ cpu usage but I want to optimize it for slower PCs. Any ideas? I've been reading a little about blitting but I'm not sure how to implement it in my case. Thanks.

    Read the article

  • Delphi app manifest file problems under WinXP and Win7

    - by Ronaldo Junior
    My last question "List service and services status under Win-7" made me start working on a solution that gives my app the admin privileges under Windows Vista onward based on a .manifest file. I was not sure about continue the previous question with this matter since they are not the same so here is another question: My app now works fine under Win 7 whether or not I run it "as admin" because of the manifest file. My manifest file is as follow: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.6.0.5" processorArchitecture="X86" name="ServiceMonitorPro" type="win32"/> <description publisher="Powershield Ltd" product="Powershield Service Monitor">Powershield Service Monitor</description> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly> When the application runs on windows 7 or Vista, the UAC comes with a dialog like this: How can I replace the "unknow" publisher? The other and bigest problem is, even thou the app runs with no problem under Win7 or Vista, under WinXP it is now crashing with the message: "This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem." Another thing I would like to add: If I add reference (uses clause) to XPMan the app works fine on WinXP but then it my .manifest file makes no diference under Vista or Win7.

    Read the article

  • monitoring iphone 3g/wifi bandswitch

    - by user262325
    Hello everyone I hope add the function to monitor iphone used 3g/wifi band switch. I know I can do these in my app, but I wonder if there is way to monitor all band switch usage of iPhone? I noticed that there is an app http://itunes.apple.com/ca/app/download-meter-for-wi-fi-gprs/id327227530?mt=8 It claims: Works with any carrier (iPods are supported too!). Requires no login/password to your carrier's site. Does not require Internet connection to get traffic usage statistics (works even in Airplane mode) because it gets information on traffic from the device, not a carrier; this means it won't cost you anything to view current traffic consumed, even while roaming in a location where traffic is very expensive. Allows the user to adjust consumed traffic for today or the current month to match traffic amounts reported by your carrier. Stats on the screen are updated every second. Measures traffic in real time with up to byte precision. Separates traffic into incoming and outgoing, Wi-Fi traffic and mobile Internet traffic. It looks like it gets the band switch info from carrier site, but they also said it gets info from device. I am really confused. Welcome any comment. Thanks interdev

    Read the article

  • How does one convert 16-bit RGB565 to 24-bit RGB888?

    - by jleedev
    I’ve got my hands on a 16-bit rgb565 image (specifically, an Android framebuffer dump), and I would like to convert it to 24-bit rgb888 for viewing on a normal monitor. The question is, how does one convert a 5- or 6-bit channel to 8 bits? The obvious answer is to shift it. I started out by writing this: uint16_t buf; while (read(0, &buf, sizeof buf)) { unsigned char red = (buf & 0xf800) >> 11; unsigned char green = (buf & 0x07c0) >> 5; unsigned char blue = buf & 0x003f; putchar(red << 3); putchar(green << 2); putchar(blue << 3); } However, this doesn’t have one property I would like, which is for 0xffff to map to 0xffffff, instead of 0xf8fcf8. I need to expand the value in some way, but I’m not sure how that should work. The Android SDK comes with a tool called ddms (Dalvik Debug Monitor) that takes screen captures. As far as I can tell from reading the code, it implements the same logic; yet its screenshots are coming out different, and white is mapping to white. Here’s the raw framebuffer, the smart conversion by ddms, and the dumb conversion by the above algorithm. (By the way, this conversion is implemented in ffmpeg, but it’s just performing the dumb conversion listed above, leaving the LSBs at all zero.) I guess I have two questions: What’s the most sensible way to convert rgb565 to rgb888? How is DDMS converting its screenshots?

    Read the article

  • Help with SQL server stack dump

    - by edosoft
    Hi guru's We're running SQL 2005 standard SP2 on a 4cpu box. Suddenly it crashdumps, after which all pooled connections are invalid and it goes into admin-only mode (only sa can connect) The short stackdump is below. After the dump a number of errors show up like '2008-09-16 10:49:34.48 Server Resource Monitor (0xec4) Worker 0x03D1C0E8 appears to be non-yielding on Node 0. Memory freed: 232408 KB. Approx CPU Used: kernel 203 ms, user 140 ms, Interval: 250250.' Have Googled around but couldn't find a definate answer. Anyone? 2008-09-16 10:46:24.98 Server Using 'dbghelp.dll' version '4.0.5' 2008-09-16 10:46:25.40 Server **Dump thread - spid = 0, PSS = 0x00000000, EC = 0x00000000 2008-09-16 10:46:25.40 Server ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\SQLDump0009.txt 2008-09-16 10:46:25.40 Server * ******************************************************************************* 2008-09-16 10:46:25.40 Server * 2008-09-16 10:46:25.40 Server * BEGIN STACK DUMP: 2008-09-16 10:46:25.40 Server * 09/16/08 10:46:25 spid 0 2008-09-16 10:46:25.42 Server * 2008-09-16 10:46:25.42 Server * Non-yielding Resource Monitor 2008-09-16 10:46:25.42 Server * 2008-09-16 10:46:25.42 Server * ******************************************************************************* 2008-09-16 10:46:25.42 Server * ------------------------------------------------------------------------------- 2008-09-16 10:46:25.42 Server * Short Stack Dump 2008-09-16 10:46:25.76 Server Stack Signature for the dump is 0x00000352 2008-09-16 10:46:32.70 Server External dump process return code 0x20000001.

    Read the article

  • iPad + OpenGL ES2. Why the Puzzling Virtual Memory Spike During Device Reorientation?

    - by dugla
    I've been spending the afternoon starring at Xcode Instruments memory monitor trying to decipher the following memory issue. I have a fullscreen OpenGL ES2 app running on iPad. I am fanatical about memory issues so my retains/releases are all nicely balanced. I closely monitor memory leaks. My app is basically squeeky clean. Except occassionally when I reorient the device. Portrait to Landscape. Back and forth I rock the device stress testing my discarding and rebuilding of the OpenGL framebuffer. The ambient memory footprint of my app is about 70MB Real Mems and 180MB Virtual Mems. Real memory hardly varies at all during device rotations. However the virtual mems reading sometimes briefly spikes up to 250MB and then recedes back to 180MB. No real pattern. But clearly related discarding/rebuilding the framebuffer. I see random memory warnings in my NSlogs but the app just hums along, no worries. 1) Since iPhone OS devices don't have VM could someone explain to me what the VM reading actually means? 2) My app totally leak free and generally bulletproof dispite the VM spikes. Never crashes. Rock solid. Should I be concerned about this? 3) There is clearly something happening in OpenGL framebuffer land that is causing this but I am using the API in the proper way: paraphrasing: Discarding the framebuffer: glDeleteRenderbuffers(1, &m_colorbuffer); glDeleteFramebuffers(1, &m_framebuffer); Rebuilding the framebuffer: glGenFramebuffers(1, &m_framebuffer); glGenRenderbuffers(1, &m_colorbuffer); Is there some other memory flushing trick I have missed? Thanks for any insight. Cheers, Doug

    Read the article

  • How do I enumerate all monitors in Windows 7?

    - by Jon Tackabury
    I am trying to enumerate all the monitors in Windows 7, and according to MSDN, using the QueryDisplayConfig method is the correct way to do this. All of this code works fine, and returns a couple of arrays, one with paths and one with modes. However, it doesn't have the same monitor ID's as Windows. I am trying to build an array of all the monitors that appear in the Windows 7 "Screen Resolution" dialog. The paths collection return far too many items, and I'm not sure how to tell if it's a valid non-active monitor. Any help would be much appreciated. UINT32 PathArraySize = 0; UINT32 ModeArraySize = 0; DISPLAYCONFIG_PATH_INFO* PathArray; DISPLAYCONFIG_MODE_INFO* ModeArray; GetDisplayConfigBufferSizes( QDC_ALL_PATHS, &PathArraySize, &ModeArraySize); PathArray = (DISPLAYCONFIG_PATH_INFO*)malloc( PathArraySize * sizeof(DISPLAYCONFIG_PATH_INFO)); memset(PathArray, 0, PathArraySize * sizeof(DISPLAYCONFIG_PATH_INFO)); ModeArray = (DISPLAYCONFIG_MODE_INFO*)malloc( ModeArraySize * sizeof(DISPLAYCONFIG_MODE_INFO)); memset(ModeArray, 0, ModeArraySize * sizeof(DISPLAYCONFIG_MODE_INFO)); LONG rtn = QueryDisplayConfig( QDC_ALL_PATHS, &PathArraySize, PathArray, &ModeArraySize, ModeArray, NULL);

    Read the article

  • What does "cpuid level" means ? Asking just for curiosity

    - by ogzylz
    For example, I put just 2 core info of a 16 core machine. What does "cpuid level : 6" line means? If u can provide info about lines "bogomips : 5992.10" and "clflush size : 64" I will be appreciated processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 6 model name : Intel(R) Xeon(TM) CPU 3.00GHz stepping : 8 cpu MHz : 2992.689 cache size : 4096 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx cid cx16 xtpr lahf_lm bogomips : 5992.10 clflush size : 64 cache_alignment : 128 address sizes : 40 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 15 model : 6 model name : Intel(R) Xeon(TM) CPU 3.00GHz stepping : 8 cpu MHz : 2992.689 cache size : 4096 KB physical id : 1 siblings : 4 core id : 0 cpu cores : 2 fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx cid cx16 xtpr lahf_lm bogomips : 5985.23 clflush size : 64 cache_alignment : 128 address sizes : 40 bits physical, 48 bits virtual power management:

    Read the article

  • How to TDD Asynchronous Events?

    - by Padu Merloti
    The fundamental question is how do I create a unit test that needs to call a method, wait for an event to happen on the tested class and then call another method (the one that we actually want to test)? Here's the scenario if you have time to read further: I'm developing an application that has to control a piece of hardware. In order to avoid dependency from hardware availability, when I create my object I specify that we are running in test mode. When that happens, the class that is being tested creates the appropriate driver hierarchy (in this case a thin mock layer of hardware drivers). Imagine that the class in question is an Elevator and I want to test the method that gives me the floor number that the elevator is. Here is how my fictitious test looks like right now: [TestMethod] public void TestGetCurrentFloor() { var elevator = new Elevator(Elevator.Environment.Offline); elevator.ElevatorArrivedOnFloor += TestElevatorArrived; elevator.GoToFloor(5); //Here's where I'm getting lost... I could block //until TestElevatorArrived gives me a signal, but //I'm not sure it's the best way int floor = elevator.GetCurrentFloor(); Assert.AreEqual(floor, 5); } Edit: Thanks for all the answers. This is how I ended up implementing it: [TestMethod] public void TestGetCurrentFloor() { var elevator = new Elevator(Elevator.Environment.Offline); elevator.ElevatorArrivedOnFloor += (s, e) => { Monitor.Pulse(this); }; lock (this) { elevator.GoToFloor(5); if (!Monitor.Wait(this, Timeout)) Assert.Fail("Elevator did not reach destination in time"); int floor = elevator.GetCurrentFloor(); Assert.AreEqual(floor, 5); } }

    Read the article

< Previous Page | 189 190 191 192 193 194 195 196 197 198 199 200  | Next Page >