问题列表 - 第43847页

观察者模式的单元测试

我对软件测试很新.我想知道对观察者模式进行单元测试的正确方法是什么?例如,如果我们实现了以下4个类:主题类(attach/detach/notify),Observer接口类(update virtual method),ConcreteSubject类和ConcreteObserver(具体更新方法).如何为每个类编写测试轨道?有什么好的例子可以参考吗?

谢谢你的任何投入.

unit-testing design-patterns observer-pattern

1
推荐指数
1
解决办法
5064
查看次数

提升互斥量顺序

所以有简单的课程

class mySafeData
{
public:
  mySafeData() : myData(0)
  {
  }

void Set(int i) 
  {
    boost::mutex::scoped_lock lock(myMutex);
    myData = i; // set the data
    ++stateCounter;  // some int to track state chages
    myCondvar.notify_all(); // notify all readers
  }

  void Get( int& i)
  {
    boost::mutex::scoped_lock lock(myMutex);
    // copy the current state
    int cState = stateCounter;
    // waits for a notification and change of state
    while (stateCounter == cState)
      myCondvar.wait( lock );
  }
 private:
   int myData;
   int stateCounter;
   boost::mutex myMutex;
};
Run Code Online (Sandbox Code Playgroud)

调用每个函数的无限循环中的线程数组

 Get() …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading boost locking

1
推荐指数
1
解决办法
735
查看次数

来自FTPWebRequest.GetResponse()方法的状态代码

这有点棘手.

我正在异步上传文件到FTP.上传每个文件后,我正在检查该文件的上传操作的状态.这可以使用该请求的FtpWebResponse对象的StatusCode属性来完成.代码段如下所示.

FileStream fs = File.Open(fileName, FileMode.Open);

while ((iWork = fs.Read(buf, 0, buf.Length)) > 0)
    requestStream.Write(buf, 0, iWork);

requestStream.Close();

FtpWebResponse wrRet = ((FtpWebResponse)state.Request.GetResponse());
Run Code Online (Sandbox Code Playgroud)

根据msdn,大约有37个StatusCode值.我不知道这些状态代码值中的哪一个将确保文件成功上传.我在代码中用来检查成功的其中一些是:

wrRet.StatusCode == FtpStatusCode.CommandOK 
wrRet.StatusCode == FtpStatusCode.ClosingData
wrRet.StatusCode == FtpStatusCode.ClosingControl
wrRet.StatusCode == FtpStatusCode.ConnectionClosed
wrRet.StatusCode == FtpStatusCode.FileActionOK
wrRet.StatusCode == FtpStatusCode.FileStatus
Run Code Online (Sandbox Code Playgroud)

但我不知道其余的.我需要确定这些代码,因为基于上传操作的失败或成功,我还要执行其他相关操作.错误的条件会影响剩余的代码.我想到的另一个想法是简单地将上面的代码放入try..catch而不依赖于这些状态代码.有了这个,我不会依赖于状态代码,并假设任何失败将始终指向catch块.如果这是正确的方法,请告诉我.

.net c# ftpwebresponse

19
推荐指数
1
解决办法
9031
查看次数

php从字符串中删除第一个<p>和最后一个</ p>标记

如何删除第一个

最后

字符串的标签?示例字符串:

$string = "<p>text text<br>text<p>text</p></p>";
Run Code Online (Sandbox Code Playgroud)

php

3
推荐指数
1
解决办法
2万
查看次数

不同屏幕尺寸的不同字体大小

在我的应用程序中,我必须使用较小的字体用于中密度设备.有可能指定吗?

android

20
推荐指数
2
解决办法
4万
查看次数

C#:在C#中是否有来自Java的等效类TimerTask?

我正在寻找在C#中是否存在来自Java的等效类TimerTask?

这里引用了TimerTask的Java:http://download.oracle.com/javase/1.4.2/docs/api/java/util/TimerTask.html

提前致谢.

这样做的目的是我需要在C#中实现一些代码:

import java.util.Timer;
import java.util.TimerTask;

private static Timer timer = new Timer();

private TimerTask timeoutTask;

if (timeoutTime>0)
{
  timeoutTask = new TimerTask() { 
    public void run() 
    {
      // callActivity();
    }
  };
}

timer.schedule( timeoutTask, timeoutTime);
Run Code Online (Sandbox Code Playgroud)

如果你能在C#中为我提供一个等效的代码,那就太好了!提前致谢

c#

2
推荐指数
1
解决办法
2897
查看次数

MKMapView,animateDrop?

我已经设置了一个从符合MKAnnotation协议的类派生的NSMutableArray对象.我为注释设置了设置标题和副标题,并使用以下方法成功将它们添加到MKMapView:

[[self customMapView] addAnnotations:locationArray];
Run Code Online (Sandbox Code Playgroud)

我现在要做的是动画引脚掉落,最初我以为我可以用Option1做到这一点,使用这一切都可行,但引脚不做动画下降.

// Option1
// WORKS FOR: pinColor YES, animatesDrop NO, LABEL YES
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
    for(MKPinAnnotationView *eachView in views) {
        [eachView setAnimatesDrop:YES];
        [eachView setPinColor:MKPinAnnotationColorPurple];
    }
}
Run Code Online (Sandbox Code Playgroud)

我的下一个猜测是尝试Option2,这似乎工作得很好,但我有两个问题.标题和副标题没有显示,我的自定义注释对象正在传入(我可以在调试器中看到它),但所包含的信息并没有传递给新的pin.其次,这会创建一组新的MKAnnotationViews,旧版本会发生什么,是否存在内存泄漏问题?

// Option2
//FOR: pinColor YES, animatesDrop YES, LABEL NO
- (MKAnnotationView *) mapView: (MKMapView *) mapView viewForAnnotation: (id<MKAnnotation>) annotation {
    MKPinAnnotationView *pin = (MKPinAnnotationView *) [mapView dequeueReusableAnnotationViewWithIdentifier: @"annotation_ID"];
    if (pin == nil) {
        pin = [[[MKPinAnnotationView alloc] initWithAnnotation: …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c

14
推荐指数
2
解决办法
2万
查看次数

struts-config.xml文件的action元素中scope属性可用的值

struts-config.xml "请求"和"会话"以外的文件的"action"元素中的"scope"属性可用的值是 多少?

<action name="loginform" path="/bkplogin" scope="?" type="org.springframework.web.struts.DelegatingActionProxy">
Run Code Online (Sandbox Code Playgroud)

java jsp struts scope

7
推荐指数
1
解决办法
9221
查看次数

如何解析新的Date().toString()的输出

我需要一个日期格式(也许是SimpleDateFormat)来解析我在Date对象上调用toString()时得到的输出的可靠性.我的德语(!)系统的输出是:"Sun Dec 12 13:45:12 CET 2010",所以它似乎并不尊重语言环境,这似乎让它变得简单.

任何人?

java date-format

22
推荐指数
2
解决办法
1万
查看次数

jQuery插件验证:onfocusin不起作用

在这个名为Validate的着名jQuery插件中,有一个名为'onfocusout'的选项.但是我想使用另一个名为'onfocusin'的文件,但没有记录,但是代码中存在,而插件的作者在回复中引用了它.

我一直在尝试的代码:

    <script type="text/javascript">
   $(document).ready(function() {
    $("form").validate({
     onsubmit: false,
     onkeyup: false, 
     onfocusin: true,
     onfocusout: false,
     rules: {
      nome: {
       required: true,
       minlength: 5
      }
     }
    })
   })
  </script>
 </head>
 <body>
  <form action="tutorial.php" method="post" enctype="text/plain" >
   <input type="text" name="nome" id="nome" />
   <button type="submit">Submit</button>
  </form>
 </body>
Run Code Online (Sandbox Code Playgroud)

当我'关注'输入时,FireBug会显示此错误消息:

validator.settings[eventType].call is not a function [Stop on this error] 
validator.settings[eventType] && v...eventType].call(validator, this[0] ); 
jquery...date.js (line 305)
Run Code Online (Sandbox Code Playgroud)

现在,黄金问题:如何解决这个问题?

链接:

验证插件:

bassistance.de/jquery-plugins/jquery-plugin-validation/

验证文档,选项页面:

docs.jquery.com/Plugins/Validation/validate#toptions

验证插件代码:

ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.js

验证作者对abouth onfocusin的回复:

groups.google.com/group/jquery-en/browse_thread/thread/652418e93c9618f1?pli=1

validation jquery plugins jquery-plugins

3
推荐指数
1
解决办法
4947
查看次数