小编Jir*_*Jir的帖子

名称"交互"在名称空间"http://schemas.microsoft.com/expression/2010/interactivity"中不存在

我在几个项目中使用了System.Windows.Interactivity DLL而没有任何问题.现在在我的最新项目中,我无法让它发挥作用.我总是得到以下错误:

名称"交互"在名称空间" http://schemas.microsoft.com/expression/2010/interactivity " 中不存在.

<i:Interaction.Triggers>
    <EventTrigger EventName="SelectionChanged">
        <i:InvokeCommandAction Command="{Binding AddSelectLocomotifCommand}"
            CommandParameter="{Binding SelectedItem, ElementName=listBoxLocs}" />
    </EventTrigger>
</i:Interaction.Triggers>
Run Code Online (Sandbox Code Playgroud)

名称空间:

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
Run Code Online (Sandbox Code Playgroud)

双方Microsoft.Expression.InteractionsSystem.Windows.Interactivity添加到项目的引用,我甚至复制该DLL的一个文件夹我的项目中.

知道这是怎么来的吗?我使用VS2012和.NET 4.5

c# wpf visual-studio

35
推荐指数
5
解决办法
4万
查看次数

如何对C++类的私有成员(和方法)进行单元测试

我对单元测试很新,我有点困惑.

我试图在一个名为C++的类上进行单元测试(使用Boost单元测试框架)VariableImpl.这是详细信息.

class Variable
{
public:
  void UpdateStatistics (void) {
    // compute mean based on m_val and update m_mean;
    OtherClass::SendData (m_mean);
    m_val.clear ();
  }
  virtual void RecordData (double) = 0;

protected:
  std::vector<double> m_val;

private:
  double m_mean;
};

class VariableImpl : public Variable
{
public:
  virtual void RecordData (double d) {
    // put data in m_val
  }
};
Run Code Online (Sandbox Code Playgroud)

我的问题是如何检查均值是否正确计算?注意1)m_mean受保护,2)UpdateStatistics调用另一个类的方法,然后清除向量.

我能看到的唯一方法是添加一个getter(例如GetMean),但我根本不喜欢这个解决方案,也不认为它是最优雅的.

我应该怎么做?

如果我要测试私有方法而不是私有变量,我该怎么办?

TIA,

JIR

c++ unit-testing private-members private-methods

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

覆盖纯虚函数的参数数量

我已经实现了以下界面:

template <typename T>
class Variable
{
public:
  Variable (T v) : m_value (v) {}
  virtual void Callback () = 0;
private:
  T m_value;
};
Run Code Online (Sandbox Code Playgroud)

一个适当的派生类将定义如下:

class Derived : public Variable<int>
{
public:
  Derived (int v) : Variable<int> (v) {}
  void Callback () {}
};
Run Code Online (Sandbox Code Playgroud)

但是,我想派生Callback接受不同参数的类(例如:void Callback (int a, int b)).有没有办法做到这一点?

c++ virtual overloading interface

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

valgrind未检测到的malloc_consolidate(malloc.c)中的分段错误

我的程序进入分段错误,我找不到原因.最糟糕的是,所讨论的功能并不总是导致段错误.

GDB确认错误并产生这种回溯:

Program received signal SIGSEGV, Segmentation fault.
0xb7da6d6e in malloc_consolidate (av=<value optimized out>) at malloc.c:5169
5169  malloc.c: No such file or directory.
  in malloc.c
(gdb) bt
#0  0xb7da6d6e in malloc_consolidate (av=<value optimized out>) at malloc.c:5169
#1  0xb7da9035 in _int_malloc (av=<value optimized out>, bytes=<value optimized out>) at malloc.c:4373
#2  0xb7dab4ac in __libc_malloc (bytes=525) at malloc.c:3660
#3  0xb7f8dc15 in operator new(unsigned int) () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#4  0xb7f72db5 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) ()
   from /usr/lib/i386-linux-gnu/libstdc++.so.6
#5 …
Run Code Online (Sandbox Code Playgroud)

c++ string valgrind segmentation-fault libstdc++

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

以更快的方式转换numpy数组中的字符串列表

br 是一个字符串列表的名称,如下所示:

['14 0.000000 -- (long term 0.000000)\n',
 '19 0.000000 -- (long term 0.000000)\n',
 '22 0.000000 -- (long term 0.000000)\n',
...
Run Code Online (Sandbox Code Playgroud)

我对前两列感兴趣,我想将其转换为numpy数组.到目前为止,我已经提出了以下解决方案:

x = N.array ([0., 0.])
for i in br:
    x = N.vstack ( (x, N.array (map (float, i.split ()[:2]))) )
Run Code Online (Sandbox Code Playgroud)

这导致具有2-D阵列:

array([[  0.,   0.],
       [ 14.,   0.],
       [ 19.,   0.],
       [ 22.,   0.],
...
Run Code Online (Sandbox Code Playgroud)

但是,由于br相当大(约10 ^ 5个条目),此过程需要一些时间.我想知道,有没有办法实现相同的结果,但在更短的时间内?

python string numpy list

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

从两个时间戳创建一个 PostgreSQL `tsrange`

我正在尝试tsrange在 postgresql 查询中创建一个(上周四到上周四),但出现转换错误。

这就是我到目前为止所得到的(从这个 SO question 开始)。

WITH past_week AS (
    SELECT date_trunc('day', NOW() + (s::TEXT || ' day')::INTERVAL)::TIMESTAMP(0) AS day 
    FROM generate_series(-7, 0, 1) AS s)
SELECT (
date_trunc('day', (SELECT day FROM past_week WHERE EXTRACT(DOW FROM day) = '4') - '7 day'::INTERVAL),
date_trunc('day', (SELECT day FROM past_week WHERE EXTRACT(DOW FROM day) = '4')));
Run Code Online (Sandbox Code Playgroud)

这是结果(正确的值,但不是格式,因为它不是一个范围):

                      row                      
-----------------------------------------------
 ("2015-10-29 00:00:00","2015-11-05 00:00:00")
(1 row)
Run Code Online (Sandbox Code Playgroud)

现在,有两个主要问题困扰着我:

  1. 如果我尝试::tsrange在查询结束之前添加一个right ,解释器会抱怨:

    错误:无法将类型记录转换为 tsrange 第 6 行:...ROM 过去一周 WHERE EXTRACT(DOW FROM …

postgresql range common-table-expression

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

使用 GitPython 列出特定 git 提交的目录内容

使用 GitPython,我尝试列出给定提交时目录的内容(即当时目录的“快照”)。

在终端中,我要做的是:

git ls-tree --name-only 4b645551aa82ec55d1794d0bae039dd28e6c5704
Run Code Online (Sandbox Code Playgroud)

我怎样才能在 GitPyhon 中做同样的事情?

根据我找到的类似问题的答案(GitPython get tree and blob object by sha),我尝试了递归遍历base_commit.tree及其.trees,但我似乎没有取得任何进展。

有任何想法吗?

python git gitpython

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

如何在单元测试中触发FileReader的`onloadend`?

我正在尝试input type=file使用反应测试库来测试组件。

该组件是一个标准<input>元素,具有以下功能来处理图像提交:

export default function ImageUpload(props) {
  const { image, setImage } = props;
  const handleImageChange = e => {
    e.preventDefault();
    let reader = new FileReader();
    const imageFile = e.target.files[0];
    reader.onloadend = () => {
      const image = reader.result;
      setImage(image);
    };
    reader.readAsDataURL(imageFile);
  };
  // etc.
}
Run Code Online (Sandbox Code Playgroud)

因为我想模拟图像的上传,所以我开始这样测试:

test("ImageUpload shows two buttons after an image has been uploaded", () => {
    const setImageSpy = jest.fn();
    const image = "data:image/jpeg;base64,/9j/4AAQSkZJ//20==";
    const file = new File([image], "chucknorris.jpg", { …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing reactjs jestjs react-testing-library

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

如何更改IPV6地址的字节顺序(从网络到主机,反之亦然)?

我知道ntoh{s,l}hton{s,l},它工作在2和4字节的整数.现在,我面临着翻译IPv6地址的问题,该地址长度为16个字节.

是否有为此目的的现成功能?

TIA,吉尔

ipv6 endianness

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

从结构中调用由指针到成员函数指向的函数

我有一个Test具有特殊数据结构的类.类的成员Teststd::map键是a的位置std::string,映射值的struct定义如下:

typedef struct {
  void (Test::*f) (void) const;
} pmf_t;
Run Code Online (Sandbox Code Playgroud)

初始化地图是可以的.问题是当我试图调用指向的函数时.我制作了一个再现问题的玩具示例.这里是:

#include <iostream>
#include <map>

using namespace std;

class Test;
typedef void (Test::*F) (void) const;
typedef struct {
  F f;
} pmf_t;


class Test
{
public:
  Test () {
    pmf_t pmf = {
      &Test::Func
    };
    m["key"] = pmf;
  }
  void Func (void) const {
    cout << "test" << endl;
  }
  void CallFunc (void) {
    std::map<std::string, pmf_t>::iterator it = m.begin (); …
Run Code Online (Sandbox Code Playgroud)

c++ pointer-to-member

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