我正在尝试测试一个以三个参数作为输入的应用程序(A面,B面,C面)并计算三角形isoscele(两边相等),scalene(两边都不相等)或等边(所有双方是平等的).
下面是我正在进行的单元测试的一些代码.在这种情况下,我正在测试应用程序告诉用户三角形是等速的,我的问题是在这种情况下Assert之后应该有什么?AreNotSame适用于scalene,AreSame适用于等边,但这里有什么用?提前致谢.
public void isIsoscelesTest()
{
Triangle target = new Triangle(5.0, 5.0, 2.0); // TODO: Initialize to an appropriate value
bool expected = true; // TODO: Initialize to an appropriate value
bool actual;
actual = target.isIsosceles();
Assert.AreNotSame(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)
//来自应用程序......
public bool isIsosceles() {
if(uniqueSides()==2)
return true;
return false;
}
Run Code Online (Sandbox Code Playgroud) 我正在为一个应用程序进行单元测试,该应用程序有一个构造函数,它将三个值作为参数.数字应为0或更高,现在我正在编写一个单元测试,用于抛出异常的构造函数,如果不是这样的话.
我无法弄清楚的是我如何在"断言"之后写什么来确定这一点,以便在非法数字传递给构造函数时测试通过.提前致谢.
编辑:我正在使用MSTest框架
public void uniqueSidesTest2()
{
try {
Triangle_Accessor target = new Triangle_Accessor(0, 10, 10);
}
catch (){
Assert // true (pass the test)
return;
}
Assert. // false (test fails)
}
Run Code Online (Sandbox Code Playgroud)
//从代码中......
public Triangle(double a, double b, double c) {
if ((a <= 0) || (b <= 0) || (c <= 0)){
throw new ArgumentException("The numbers must higher than 0.");
}
sides = new double[] { a, b, c };
}
Run Code Online (Sandbox Code Playgroud) 我正在实验室进行单元测试,下面是我正在测试的应用程序中的一段代码。大多数单元测试都已完成,但关于下面的构造函数,我只是不知道如何测试它。例如,构造函数到底对数组元素做了什么?测试构造函数的好方法是什么?
是否有一个善良的灵魂可以给我一个正确的方向踢?
public struct Point {
public int x, y;
public Point(int a, int b) {
x = a;
y = b;
}
}
Run Code Online (Sandbox Code Playgroud)
...
public Triangle(Point[] s) {
sides = new double[s.Length];
sides[0] = Math.Sqrt(Math.Pow((double)(s[1].x - s[0].x), 2.0) + Math.Pow((double)(s[1].y - s[0].y), 2.0));
sides[1] = Math.Sqrt(Math.Pow((double)(s[1].x - s[2].x), 2.0) + Math.Pow((double)(s[1].x - s[2].x), 2.0));
sides[2] = Math.Sqrt(Math.Pow((double)(s[2].x - s[0].x), 2.0) + Math.Pow((double)(s[2].x - s[0].x), 2.0));
}
Run Code Online (Sandbox Code Playgroud)
...
[TestMethod()]
public void TriangleConstructorTest1()
{
Point[] s = null; // TODO: Initialize …
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,它允许人们列出电影以及编辑,插入和删除它们.在db我有三个表(Movie,Genre和MovieGenre),这个问题与向电影添加一个类型有关(通过添加到MovieGenre表,它保存了电影类型的轨迹).
下面是相关代码,以及抛出的异常.我只是无法弄清楚为什么我收到此错误消息,因为我使用正确数量的参数,因为我可以在调用sproc时在c#代码中看到它.
有人能看出这里的问题是什么吗?
例外: 过程或函数usp_InsertMovieGenre指定了太多参数.
异常详细信息: System.Data.SqlClient.SqlException:过程或函数usp_InsertMovieGenre指定了太多参数.
c#代码:
public void InsertMovieGenre(MovieGenre movieGenre) {
using (SqlConnection conn = CreateConnection()) {
try {
SqlCommand cmd = new SqlCommand("dbo.usp_InsertMovieGenre", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@MovieID", SqlDbType.Int, 4).Value = movieGenre.MovieID;
cmd.Parameters.Add("@GenreID", SqlDbType.Int, 4).Value = movieGenre.MovieGenreID;
cmd.Parameters.Add("@MovieGenreID", SqlDbType.Int, 4).Direction = ParameterDirection.Output;
conn.Open();
cmd.ExecuteNonQuery();
movieGenre.MovieID = (int)cmd.Parameters["@MovieGenreID"].Value;
}
catch {
}
}
}
Run Code Online (Sandbox Code Playgroud)
存储过程:
ALTER PROCEDURE usp_InsertMovieGenre
@GenreID varchar(500),
@MovieID int
AS
BEGIN
INSERT INTO MovieGenre (GenreID, MovieID)
VALUES (@GenreID, @MovieID);
END
GO
Run Code Online (Sandbox Code Playgroud) 我正在使用layout.jade作为所有部分的模板.layout.jade包括页眉,页脚,侧边栏等,部分是正文中显示的内容.
现在我已经用iframe实现了一个灯箱,以显示其中一个部分.问题是我不希望页眉,页脚等显示在灯箱内,只是部分玉文件.
在这种情况下有没有办法排除layout.jade?
提前致谢!
这可能很简单,但我现在不知道如何解决。每次单击提交按钮时,下面的函数都会检查输入字段 1(名称),如果不为空,则将该值添加到关联数组中,并继续进行描述。
我想要的是每次单击都向数组添加一个新的 1 级元素,该元素应该保存这些值,以便在三次单击后它看起来像这样:
Click 1:
listObject[0]['listObjectName'] = 'Name 1';
listObject[0]['listObjectDesc'] = 'Desc 1';
Click 2:
listObject[1]['listObjectName'] = 'Name 2';
listObject[1]['listObjectDesc'] = 'Desc 2';
Click 3:
listObject[2]['listObjectName'] = 'Name 3';
listObject[2]['listObjectDesc'] = 'Desc 3';
Run Code Online (Sandbox Code Playgroud)
功能:
$('#addListObjectSubmit').click(function (e) {
var listObjectName = $('#m_newListObject').val();
if((listObjectName == null) || (listObjectName == '')) {
return false;
}
else {
listObjects['listObjectName'] = listObjectName;
var listObjectDesc = $('#m_newListObjectDesc').val();
if ((listObjectDesc == null) || (listObjectDesc == '')) {
listObjects['listObjectDesc'] = null;
}
else {
listObjects['listObjectDesc'] = …
Run Code Online (Sandbox Code Playgroud) 我有两个关联数组,如下所示:
$prod1 = (
[name] = 'John',
[address] = 'Milky way',
[city] = 'Miami',
);
$prod2 = (
[address] = 'Not so milky way'
);
Run Code Online (Sandbox Code Playgroud)
$ prod1总是有相同类型的元素(名称,地址,城市),但$ prod2可以包含所有元素或其中一些元素
我要的是替换的元素值$ PROD1,随着要素匹配$ Prod2的.在上面的例子$ Prod2的包含的地址,因此,在地址$ PROD1应与地址替换$ Prod2的(其中的元件的其余部分当然应该留原样).
如何实现这一目标?
我是第一次尝试Django,我正在尝试遵循django团队提供的教程.
在我创建了一个新项目后,我获得了以下文件夹/文件结构,就像教程说我应该:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
Run Code Online (Sandbox Code Playgroud)
当我创建一个应用程序时,我运行:
python manage.py startapp polls
Run Code Online (Sandbox Code Playgroud)
...在manage.py文件所在的文件夹中创建应用程序'polls' - 这给了我:
mysite/
manage.py
polls/
__init__.py
admin.py
models.py
tests.py
views.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
Run Code Online (Sandbox Code Playgroud)
这意味着我创建的应用程序是在项目文件夹之外创建的,当然不应该是这种情况.我试图将manage.py移到项目文件夹中.但当我这样做并运行:
python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)
...我收到以下错误:
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'testproject.settings' (Is it on sys.path?): No module named testproject.settings
Run Code Online (Sandbox Code Playgroud)
我想我可以手动将应用程序移动到项目文件夹,但这是我不应该做的事情.
所以,教程中的某些内容是错误的(我很难相信),或者我在这里遗漏了一些东西(更有可能).
提前致谢.
我正在为一个应用程序进行单元测试,下面是一个单元测试,我只是想知道它失败的原因.
测试结果应该是"等腰"是真的,"等边"和"斜角"是假的,Console.WriteLine显示它们实际上是,但由于一些奇怪的原因,测试无论如何都会失败.我在这做错了什么?提前致谢.
我正在使用MSTest框架.
public void isIsosceles()
{
Triangle triangle = new Triangle(2, 2, 5);
var isosceles = triangle.isIsosceles();
var equalateral = triangle.isEquilateral();
var scalene = triangle.isScalene();
Console.WriteLine(isosceles); // True
Console.WriteLine(equalateral); // False
Console.WriteLine(scalene); // False
Assert.IsTrue(true, "Test Isosceles", isosceles);
Assert.IsTrue(false, "Test Equalateral", equalateral); // Fails, why?
Assert.IsTrue(false, "Test Scalene", scalene); // Fails, why?
}
Run Code Online (Sandbox Code Playgroud) 我想动态创建数据库中用户的复选框,可以选择(一个或多个).但是,我显然做错了,因为下面的代码给出了以下错误:
undefined method `each' for nil:NilClass
...
<% @users.each do |user| %> <--- the line with the error
Run Code Online (Sandbox Code Playgroud)
控制器:
class ProjectsController < ApplicationController
...
def new
@project = Project.new
@users = (current_user.blank? ? User.all : User.find(:all, :conditions => ["id != ?", current_user.id]))
end
...
end
Run Code Online (Sandbox Code Playgroud)
视图(new.html.erb):
<%= form_for @project do |f| %>
<div class="alert alert-block">
<%= f.error_messages %>
</div>
<div class="text_field">
<%= f.label :title%>
<%= f.text_field :title%>
</div>
<div class="text_field">
<%= f.label :description%>
<%= f.text_field :description%>
</div>
<div class="dropdown">
<%= …
Run Code Online (Sandbox Code Playgroud) variables ruby-on-rails view instance-variables ruby-on-rails-3