3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-09 02:41:52 +00:00
z3/test/symbol.cpp
Leonardo de Moura 68269c43a6 other components
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-02 11:48:48 -07:00

60 lines
1.2 KiB
C++

/*++
Copyright (c) 2006 Microsoft Corporation
Module Name:
tst_symbol.cpp
Abstract:
Test symbol class.
Author:
Leonardo de Moura (leonardo) 2006-09-13.
Revision History:
--*/
#include<iostream>
#include"symbol.h"
#include"debug.h"
static void tst1() {
symbol s1("foo");
symbol s2("boo");
symbol s3("foo");
SASSERT(s1 != s2);
SASSERT(s1 == s3);
std::cout << s1 << " " << s2 << " " << s3 << "\n";
SASSERT(s1 == "foo");
SASSERT(s1 != "boo");
SASSERT(s2 != "foo");
SASSERT(s3 == "foo");
SASSERT(s2 == "boo");
SASSERT(lt(s2, s1));
SASSERT(!lt(s1, s2));
SASSERT(!lt(s1, s3));
SASSERT(lt(symbol("abcc"), symbol("abcd")));
SASSERT(!lt(symbol("abcd"), symbol("abcc")));
SASSERT(lt(symbol("abc"), symbol("abcc")));
SASSERT(!lt(symbol("abcd"), symbol("abc")));
SASSERT(lt(symbol(10), s1));
SASSERT(!lt(s1, symbol(10)));
SASSERT(lt(symbol(10), symbol(20)));
SASSERT(!lt(symbol(20), symbol(10)));
SASSERT(!lt(symbol(10), symbol(10)));
SASSERT(lt(symbol("a"), symbol("b")));
SASSERT(!lt(symbol("z"), symbol("b")));
SASSERT(!lt(symbol("zzz"), symbol("b")));
SASSERT(lt(symbol("zzz"), symbol("zzzb")));
}
void tst_symbol() {
tst1();
}