我最近得到了BBC Micro(模型B),并一直在玩它作为一个爱好项目.
我在使用图形命令时遇到了一些麻烦,并且想知道是否有人能指出我正确的方向......我已经编写了以下测试程序来在屏幕上绘制一个矩形:
10 CLS
20 MODE 5
30 MOVE 0,0
40 PLOT 97,100,100
Run Code Online (Sandbox Code Playgroud)
当我运行它时,程序完成但没有绘制矩形(我可以看到).我正在使用同轴电缆连接到CRT电视,但我不相信光标正在离屏,因为我已经尝试调整X/Y值来检查这一点.
我在测试程序中犯了错误吗?是否可能存在已检查的已知硬件故障?
我是新手使用angularjs并且我已经在控制器中声明了两个函数,现在我想将一个函数用于另一个函数我该怎么做才意味着如果我将函数名称称为另一个函数,它说Undefined.
这是代码:
'use strict';
angular.module('customer').controller('Controller', ['$scope', '$state', 'Sservice',
function($scope, $state, Sservice) {
var that = this;
(function getDetails() {
//IMPLEMENTATION
}());
this.function2 = function function2 (id){
//implementation
getDetails(); // says undefined
};
}
]);
Run Code Online (Sandbox Code Playgroud) 我正在开展SWT项目,作为团队的一部分.我们不断打破彼此构建环境,因为Eclipses .classpath文件被检入版本控制,我们为我们的机器包含不同的SWT库.
根据最后提交的人,.classpath条目可以是:
<classpathentry kind="lib" path="lib/swt/swt-win32.jar"/>
Run Code Online (Sandbox Code Playgroud)
要么
<classpathentry kind="lib" path="lib/swt/swt-carbon.jar"/>
Run Code Online (Sandbox Code Playgroud)
要么
<classpathentry kind="lib" path="lib/swt/swt-gtk.jar"/>
Run Code Online (Sandbox Code Playgroud)
看起来这些库是互斥的,即你不能同时包含它们并让SWT解决它.所以我们需要以某种方式为每个平台过滤它们......
有没有人对如何做到这一点有任何想法?我最初的想法是将其拆分为自己的".classpath-swt"文件(由VCS忽略),使用Ant自动生成它并将其包含在主.classpath中,但似乎Eclipse不支持拆分.classpath文件.
我们当前的解决方法是避免提交.classpath,除非我们实际上已经更改了依赖项,但是这仍然意味着每次更改.classpath时都会有许多人必须修复它们的开发环境.
任何建议将不胜感激,只要它不是"不使用Eclipse",因为这不是这个项目的选项:)
我最近接受了采访,要求我制作传统的FizzBuzz解决方案:
输出1到100之间的数字列表.
- 对于3和5的所有倍数,该数字将替换为"FizzBuzz"
- 对于所有剩余的3的倍数,该数字将替换为"Fizz"
- 对于所有剩余的5的倍数,该数字将替换为"Buzz"
我的解决方案是用Java编写的,但这不是必需的.面试官很想看到一些TDD的证据,所以本着这种精神,我开始制作我自己的本土FizzBuzz单元测试:
public class FizzBuzzTest {
@Test
public void testReturnsAnArrayOfOneHundred() {
String[] result = FizzBuzz.getResultAsArray();
assertEquals(100, result.length);
}
@Test
public void testPrintsAStringRepresentationOfTheArray() {
String result = FizzBuzz.getResultAsString();
assertNotNull(result);
assertNotSame(0, result.length());
assertEquals("1, 2", result.substring(0, 4));
}
@Test
public void testMultiplesOfThreeAndFivePrintFizzBuzz() {
String[] result = FizzBuzz.getResultAsArray();
// Check all instances of "FizzBuzz" in array
for (int i = 1; i <= 100; i++) {
if ((i % 3) == 0 && (i % 5) == 0) {
assertEquals("FizzBuzz", …Run Code Online (Sandbox Code Playgroud) 我必须修改一个大的Hibernate DetachedCriteria查询来获取一些额外的关联.
我的对象图类似于下面的结构,我想获取与每辆车相关的销售:
<class name="Showroom" table="showroom">
...
<bag name="cars" lazy="false">
<one-to-many class="Car" />
</bag>
...
</class>
<class name="Car" table="car">
...
<set name="sales" lazy="true">
<one-to-many class="Sale" />
</set>
...
</class>
Run Code Online (Sandbox Code Playgroud)
我想做的是:
DetachedCriteria criteria = DetachedCriteria.forClass(Showroom.class);
// ... Existing criteria query code ...
criteria.setFetchMode("cars.sales", FetchMode.JOIN);
Run Code Online (Sandbox Code Playgroud)
但是setFetchMode中的associationPath参数似乎忽略了点表示法,我得到了一个LazyInitializationException:
引起:org.hibernate.LazyInitializationException:懒得初始化角色集合:Car.sales,没有会话或会话被关闭
我一直在搜索,到目前为止没有找到任何例子或信息.在Hibernate文档不提供关于如何获取嵌套协会的例子,以及用于调用setFetchMode的Javadoc似乎表明,我的点标记的方式应该有工作...
任何帮助,将不胜感激.
我有一组由Spring Roo为我的域对象(和DAO ITD)生成的集成测试.
它们似乎已被修复以使用"production"applicationContext.xml,它读取database.properties并连接到我为实验项目设置的MySQL数据库模式:
privileged aspect AdvertIntegrationTest_Roo_IntegrationTest {
declare @type: AdvertIntegrationTest: @RunWith
(SpringJUnit4ClassRunner.class);
declare @type: AdvertIntegrationTest: @ContextConfiguration
(locations = "classpath:/META-INF/spring/applicationContext.xml");
Run Code Online (Sandbox Code Playgroud)
结果是我的演示数据库经常被这些测试填充垃圾.
我想更改配置,以便集成测试使用内存数据库,并使MySQL数据库保持独立.目前,我能看到的唯一选择是从现在开始删除Roo注释并自行管理这些测试,但我现在宁愿让Roo保持在循环中.
是否可以配置我的项目,因此"mvn tomcat"和"mvn test"命令使用单独的数据库,而不会破坏Spring Roo设置?或许对我想做的事情有更好的方法?
我正在解决一个帮助类的问题,我正在努力翻译同名的两个类.这两个类都在我的控制范围之外,所以我不能简单地重命名它们.
我的基本选项都涉及至少为其中一种类型声明完整名称空间:
import com.myco.second.long.package.namespace.MyObject;
public class MyObjectConvertor {
MyObject transform(com.myco.first.long.package.namespace.MyObject o) {}
}
Run Code Online (Sandbox Code Playgroud)
或者相反的方法:
import com.myco.first.long.package.namespace.MyObject;
public class MyObjectConvertor {
com.myco.second.long.package.namespace.MyObject transform(MyObject o) {}
}
Run Code Online (Sandbox Code Playgroud)
或者声明两个名称空间,以获得更明确的模式:
public class MyObjectConvertor {
com.myco.second.long.package.namespace.MyObject
transform(com.myco.first.long.package.namespace.MyObject o) {}
}
Run Code Online (Sandbox Code Playgroud)
是否有其他解决方案可以整理这些方法签名?我想知道某种C++"typedef"风格的解决方案是否可行?
我有一个特别讨厌的 JMock check() 块用于 JPA 查询,我想将其迁移到 Mockito:
Mockery jMock = new Mockery();
final EntityManager fakeEntityManager = jMock.mock(EntityManager.class);
final CriteriaBuilder fakeCriteriaBuilder = jMock.mock(CriteriaBuilder.class);
final CriteriaQuery<String> fakeCriteriaQuery = jMock.mock(CriteriaQuery.class);
jMock.checking(new Expectations() {{
oneOf(fakeEntityManager).getCriteriaBuilder(); will(returnValue(fakeCriteriaBuilder));
oneOf(fakeCriteriaBuilder).createQuery(String.class); will(returnValue(fakeCriteriaQuery));
oneOf(fakeCriteriaQuery).from(Archiveusergrouplicences.class);
oneOf(fakeCriteriaQuery).select(with(any(Selection.class)));
oneOf(fakeCriteriaBuilder).isNotNull(with(any(Expression.class)));
oneOf(fakeCriteriaQuery).where(with(any(Expression.class)));
oneOf(fakeEntityManager).createQuery(fakeCriteriaQuery);
// Return an empty resultset
}});
Run Code Online (Sandbox Code Playgroud)
正在测试的代码如下所示:
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<String> criteria = builder.createQuery(String.class);
Root<Archiveusergrouplicences> institution = criteria.from(Archiveusergrouplicences.class);
criteria.select(institution.get(Archiveusergrouplicences_.usergroupid));
criteria.where(builder.isNotNull(institution.get(Archiveusergrouplicences_.usergroupid)));
List<String> result = entityManager.createQuery(criteria).getResultList();
Run Code Online (Sandbox Code Playgroud)
我在模拟构建器上发现了这个问题,这在某种程度上解决了模拟的 CriteriaBuilder 部分;但我的主要问题是使用模拟对象作为另一个模拟的 .thenReturn() 值 - Mockito 似乎不允许这样做。例如,对于该行:
CriteriaQuery<String> criteria = builder.createQuery(String.class);
Run Code Online (Sandbox Code Playgroud)
我想返回模拟 …
我想在VC++ Express 2005中为我的代码添加断点条件,以便断点仅在局部变量满足指定条件时触发.例如
bool my_test(UIDList test_list) {
foo(test_list);
bar(test_list); // I have a breakpoint here, but only want it to trigger if test_list.Length() > 0
print(test_list);
}
Run Code Online (Sandbox Code Playgroud)
右键单击我的断点并选择"条件..."我找到了一个看似按我想要的对话框,但是我尝试在文本字段中输入的任何内容都会导致以下错误:
无法评估断点条件:CX0052:错误:成员函数不存在
我尝试了帮助文档,但我找不到答案.我希望有VC++经验的人能够指出我正确的方向......
我之前尝试升级到VC++ Express的更新版本,但项目没有干净地导入.由于项目的复杂性和我目前的时间尺度,我不能在此时考虑升级为解决方案.
我经常看到的东西,但从来没有想过要质疑它......在Java 界面中,有什么区别:
public void myMethod();
Run Code Online (Sandbox Code Playgroud)
和
public abstract void myMethod();
Run Code Online (Sandbox Code Playgroud)
我理解Java类中abstract关键字的用途,但它在接口中的用途(如果有的话)是什么?
java ×6
hibernate ×2
angularjs ×1
basic ×1
bbc-micro ×1
breakpoints ×1
c++ ×1
classpath ×1
criteria-api ×1
database ×1
debugging ×1
eclipse ×1
fizzbuzz ×1
function ×1
graphics ×1
inheritance ×1
jmock ×1
jpa ×1
mockito ×1
spring ×1
spring-roo ×1
swt ×1
tdd ×1
visual-c++ ×1